Python 升华文本插件类命名约定

Python 升华文本插件类命名约定,python,sublimetext2,sublimetext,sublime-text-plugin,Python,Sublimetext2,Sublimetext,Sublime Text Plugin,为了在Sublime文本中为简单任务创建一个极简插件,我做了以下工作: 在C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User\Default(Windows)中添加此行。Sublime keymap“(可从菜单首选项>键绑定-用户中获得): 我创建了一个同名的Python文件,即在 C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User\ 我创建插件代码: impor

为了在Sublime文本中为简单任务创建一个极简插件,我做了以下工作:

  • C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User\Default(Windows)中添加此行。Sublime keymap“
    (可从菜单首选项>键绑定-用户中获得):

  • 我创建了一个同名的Python文件,即在
    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)
    
  • 似乎“类名”应该是:

    • 命令
      名称,其中每个
      都将被删除

    • 每个单词(在被删除之前由
      分隔)必须以大写字母开头

    • 在类名末尾添加
      命令

    因此:
    myplugin123_blah
    =>
    classmyplugin123blahcommand


    这是正确的吗(只是通过反复试验和查看其他示例发现了这一点)?这是
    sublime\u plugin.WindowCommand
    的子类的一般命名规则吗?

    通常从另一个方向进行处理-使用一些文本/窗口命令编写Python插件,然后进行“翻译”“您可以从ST调用该名称,但无论是哪种情况,当您不希望Python代码或键绑定中出现不必要的不可读名称时,了解规则都会很有帮助

    非官方文档(针对ST3,其规则与已弃用的ST2相同)对此进行了如下解释:

    按照惯例,升华文本命令类名称以
    command
    作为后缀,并以
    NamesLikeThisCommand
    的形式编写。 但是,命令名会自动从
    NamesLikeThisCommand
    转换为
    name\u like\u this
    。因此,
    ExampleCommand
    将成为
    example
    ,而
    另一个ExampleCommand
    将成为
    另一个示例。
    在定义命令的类的名称中,使用
    NameLikeThisCommand
    。要从API调用命令,请使用标准化的
    名称,如此


    它与您的发现相匹配。

    是否有必要使用命令作为后缀。工作没有太多
    import sublime
    import sublime_plugin
    import subprocess
    
    class Myplugin123BlahCommand(sublime_plugin.WindowCommand):
        def run(self):
            command = 'doanything'
            subprocess.Popen(command)