我正在为Sublime编写一个插件,能够通过self.view
获取活动视图的内容。但是,如果我在不同列中打开了两个文件,那么如何通过SublimeText3 API获取每个窗口中活动标签的内容(或至少window.id
)?是否可以通过views()
类的sublime.Window
方法完成?
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
print (self.view.id())
- >它的工作原理
class TestCommand(sublime_plugin.WindowCommand):
def run(self, edit):
print (self.window.views())
- >当我运行view.run_command('test')
非常感谢任何建议。
答案 0 :(得分:2)
如果查看链接的文档,self.window.views()
会返回一个视图列表。视图是对象,无法打印。试试这个:
class TestCommand(sublime_plugin.WindowCommand):
def run(self):
print([view.id() for view in self.window.views()])
这将打印窗口中每个视图的唯一ID。如果需要,您可以替换sublime.View
的任何方法。
要从Sublime的控制台运行WindowCommand
,请使用
window.run_command("command_name")
而通过访问TextCommand
对象来运行view
:
view.run_command("command_name")