gpt4 book ai didi

python - 在 Sublime Text 2 的插件中使用整个范围作为输入

转载 作者:行者123 更新时间:2023-11-28 17:50:14 26 4
gpt4 key购买 nike

Textmate 的优点之一是能够将整个范围的内容通过管道传输到命令中,如下所示:

Textmate screenshot

然后您可以指定要使用的范围,例如 meta.class.python 或其他内容。

我正在尝试编写一个小插件,它将整个当前范围作为插件的输入(例如(不完全是我想要做的,但关闭),一个让你评论的功能在不选择所有的情况下输出整个 Python 类)

使用当前选择作为输入非常简单:

import sublime, sublime_plugin
import re

class DoStuffWithSelection(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
if not region.empty():
changed = region # Do something to the selection
self.view.replace(edit, region, changed) # Replace the selection

我搜索了 Sublime Text 插件 API 以寻找某种方法来执行类似 for region in self.view.scope() 的操作,但没有成功。

那么,有没有办法将光标下当前作用域的内容用作插件函数的输入?或者,更好的是,如果没有选择,则使用整个范围,但如果有选择,则使用选择。

谢谢!

最佳答案

如果你想获取你选择的文本,下面的代码片段就是一个例子。

if not region.empty():
selectText = self.view.substr(region)
...

如果你想获取光标所在位置的文本,下面的代码片段就是一个例子。

if region.empty():
lineRegion = self.view.line(region)
lineText = self.view.substr(lineRegion)
...

要获取更多信息,请参阅 http://net.tutsplus.com/tutorials/python-tutorials/how-to-create-a-sublime-text-2-plugin/http://www.sublimetext.com/docs/api-reference .

关于python - 在 Sublime Text 2 的插件中使用整个范围作为输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11623040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com