为了在Sublime Text中为简单任务创建一个极简主义插件,我这样做:
在C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User\Default (Windows).sublime-keymap"
中添加此行(可从菜单首选项>键绑定 - 用户获得):
{ "keys": ["ctrl+alt+enter"], "command": "myplugin123_blah" },
我使用同名创建一个Python文件,即myplugin123_blah.py
in
C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User\
我创建了插件代码:
import sublime
import sublime_plugin
import subprocess
class Myplugin123BlahCommand(sublime_plugin.WindowCommand):
def run(self):
command = 'doanything'
subprocess.Popen(command)
似乎“班级名称”应为:
command
名称,其中每个_
被移除
每个单词(在移除之前用_
分隔)必须以大写字母开头
在班级名称末尾添加Command
因此:myplugin123_blah
=> class Myplugin123BlahCommand
这是正确的(只是通过反复试验并查看其他示例)?这是sublime_plugin.WindowCommand
的子类的一般命名规则吗?
答案 0 :(得分:1)
通常这是从另一个方向接近 - 用一些文本/窗口命令编写Python插件,然后将该名称“翻译”为可以从ST调用的名称 - 但在任何一种情况下,当你不知道规则时,了解规则是有帮助的在Python代码或键绑定等中想要一个不必要的不可读名称。
非官方文档(对于ST3,与已弃用的ST2具有相同的规则),解释如下: http://docs.sublimetext.info/en/latest/reference/plugins.html#conventions-for-command-names
按照惯例,Sublime Text命令类名称后缀为
Command
并写为NamesLikeThisCommand
。 但是,命令名称会自动从NamesLikeThisCommand
转换为name_like_this
。因此,ExampleCommand
将变为example
,AnotherExampleCommand
将变为another_example
。 在定义命令的类的名称中,使用NameLikeThisCommand
。要从API调用命令,请使用标准化的name_like_this
。
与您的发现相匹配。