如何在命令或宏(无插件)中更改 Sublime Text 3 StatusBar 消息?
How to change the Sublime Text 3 StatusBar message in a command or macro (no plugin)?
在这里向 Sublime Text 3 用户致辞。
我写了几个宏来启用拼写检查和加载特定词典,因为我经常在法语和英语之间切换,我想要一个简单的快捷方式(而不是浏览菜单或命令托盘)。
我的宏按预期工作 (french-spellcheck.sublime-macro, english-spellcheck.sublime-macro)。
但我想在状态栏中显示一条消息,例如 "Switched to French" 或 "Switched to English" (一段时间,比如说 5 秒)。
我找遍了所有我知道的地方并尝试了一段时间,但显然没有办法在命令中执行此操作(可以在宏的末尾添加),因为 set_status
internal ST3's Python API command(来自Window
包)仅适用于插件...
有没有人知道如何在 command/macro 和 not 中向 SublimeText3 StatusBar 显示消息用插件?谢谢!
没有内置命令调用 API 方法来执行此操作(至少没有记录的方法),因此没有某种插件就无法解决此问题。
就是说,为了执行您想要的操作,您需要将以下内容保存到名为例如set_status.py
在您的 Packages/User
文件夹中(与您的宏一起)。这提供了一个 set_status
命令,该命令采用名为 value
的值来显示文本,如宏文件的注释部分所述。
import sublime, sublime_plugin
class SetStatusCommand(sublime_plugin.TextCommand):
def run(self, edit, value="set_status: use arg 'value' to set text"):
self.view.window ().status_message (value)
这使用的 API 与您在宏文件注释中提到的不同; status_message
完成在状态栏中显示一条消息,等待几秒钟,然后将其删除的工作,这使得该命令易于实施。
如果你想要更多的控制(即改变持续时间),你需要修改它来调用你的宏文件已经提到的 API 命令:view.set_status()
和 sublime.set_timeout()
。
在这里向 Sublime Text 3 用户致辞。
我写了几个宏来启用拼写检查和加载特定词典,因为我经常在法语和英语之间切换,我想要一个简单的快捷方式(而不是浏览菜单或命令托盘)。
我的宏按预期工作 (french-spellcheck.sublime-macro, english-spellcheck.sublime-macro)。 但我想在状态栏中显示一条消息,例如 "Switched to French" 或 "Switched to English" (一段时间,比如说 5 秒)。
我找遍了所有我知道的地方并尝试了一段时间,但显然没有办法在命令中执行此操作(可以在宏的末尾添加),因为 set_status
internal ST3's Python API command(来自Window
包)仅适用于插件...
有没有人知道如何在 command/macro 和 not 中向 SublimeText3 StatusBar 显示消息用插件?谢谢!
没有内置命令调用 API 方法来执行此操作(至少没有记录的方法),因此没有某种插件就无法解决此问题。
就是说,为了执行您想要的操作,您需要将以下内容保存到名为例如set_status.py
在您的 Packages/User
文件夹中(与您的宏一起)。这提供了一个 set_status
命令,该命令采用名为 value
的值来显示文本,如宏文件的注释部分所述。
import sublime, sublime_plugin
class SetStatusCommand(sublime_plugin.TextCommand):
def run(self, edit, value="set_status: use arg 'value' to set text"):
self.view.window ().status_message (value)
这使用的 API 与您在宏文件注释中提到的不同; status_message
完成在状态栏中显示一条消息,等待几秒钟,然后将其删除的工作,这使得该命令易于实施。
如果你想要更多的控制(即改变持续时间),你需要修改它来调用你的宏文件已经提到的 API 命令:view.set_status()
和 sublime.set_timeout()
。