Nær*_*een 0 sublimetext3 sublime-text-plugin
在此处解决 Sublime Text 3 用户。
我编写了几个宏来启用拼写检查并加载特定的字典,因为我经常在法语和英语之间切换,我想要一个简单的快捷方式(而不是浏览菜单或命令托盘中的两个连续命令)。
我的宏按预期工作(french-spellcheck.sublime-macro,english-spellcheck.sublime-macro)。但我想在状态栏中显示一条消息,例如“切换到法语”或“切换到英语”(一段时间,比如说 5 秒)。
我查看了我知道的所有地方并尝试了一段时间,但显然没有办法在命令中执行此操作(可以在宏的末尾添加),因为set_status 内部 ST3 的 Python API 命令(来自Window包)只是可用于插件...
有没有人知道如何在命令/宏中而不是使用插件向 SublimeText3 StatusBar 显示消息?谢谢!
没有内置命令可以调用 API 方法来执行此操作(至少没有记录在案的方法),因此如果没有某种插件,就无法解决此问题。
也就是说,为了执行您想要的操作,您需要将以下内容保存到一个名为 egset_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)
Run Code Online (Sandbox Code Playgroud)
这使用了与您在宏文件注释中提到的 API 不同的 API;status_message执行在状态栏中显示消息的工作,等待几秒钟,然后将其删除,这使得该命令易于实现。
如果您想要更多控制(即更改持续时间),您需要修改它以调用您的宏文件已经提到的 API 命令:view.set_status()和sublime.set_timeout().