如何获取 Sublime Text 3 列中每个活动选项卡的内容?
How to get content of each active tab in column of Sublime Text 3?
我正在为 Sublime 编写一个插件,能够通过 self.view
获取活动视图的内容。但是,如果我在不同的列中有两个打开的文件,如何通过 SublimeText3 API 获取每个 window 中活动选项卡的内容(或至少 window.id
)?是否应该通过 sublime.Window
class 的 views()
方法完成?
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')
时控制台中没有错误
非常感谢任何建议。
如果您查看链接的文档,self.window.views()
returns 视图列表。视图是对象,不能打印。试试这个:
class TestCommand(sublime_plugin.WindowCommand):
def run(self):
print([view.id() for view in self.window.views()])
这将打印 window 中每个视图的唯一 ID。如果需要,您可以替换 sublime.View
的任何方法。
从 Sublime 的控制台到 运行 WindowCommand
s,使用
window.run_command("command_name")
而 TextCommand
通过访问 view
对象是 运行:
view.run_command("command_name")
我正在为 Sublime 编写一个插件,能够通过 self.view
获取活动视图的内容。但是,如果我在不同的列中有两个打开的文件,如何通过 SublimeText3 API 获取每个 window 中活动选项卡的内容(或至少 window.id
)?是否应该通过 sublime.Window
class 的 views()
方法完成?
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')
非常感谢任何建议。
如果您查看链接的文档,self.window.views()
returns 视图列表。视图是对象,不能打印。试试这个:
class TestCommand(sublime_plugin.WindowCommand):
def run(self):
print([view.id() for view in self.window.views()])
这将打印 window 中每个视图的唯一 ID。如果需要,您可以替换 sublime.View
的任何方法。
从 Sublime 的控制台到 运行 WindowCommand
s,使用
window.run_command("command_name")
而 TextCommand
通过访问 view
对象是 运行:
view.run_command("command_name")