使用自定义插件

使用自定义插件

我尝试将代码片段文件保存在项目文件夹中,但没有成功。您还有其他想法吗?

答案1

使用自定义插件

编辑:以下插件的通用版本已发布于 https://packagecontrol.io/packages/ProjectCompletions

如果你把这个插件放在你的用户文件夹中,名称如下ProjectCompletions.py

import sublime_plugin

class ProjectCompletions(sublime_plugin.EventListener):

    def on_query_completions(self, view, prefix, locations):
        return view.window().project_data().get("completions")

"completions"您可以使用项目文件中的条目注入完成:

{
  "folders": ...
  "completions":[
      ["I", "I am a ${1:snippet} baby!"]
  ]
}

完成的格式是[trigger, snippet]。可以使用更复杂的方法,以便将范围也考虑在内。

动画 Gif


间接使用项目特定插入

安装完成后,您可以使用settings项目文件的密钥来安装其他命令。然后,要启用代码片段,您可以将其添加到您的项目中:

{
    "folders": ...
    "settings": {
        "project-specific": {
            "sublime-commands": [
                {"caption": "My Snippet",
                 "command": "insert_snippet",
                 "args": {"contents": "I am a ${1:snippet} baby!"} }
            ]
        }
    ...
    }

}

并且您将仅在当前项目的命令面板中找到“我的代码片段”命令。

您还可以以项目特定的方式绑定键。通过将它们绑定到命令,insert_snippet您可以实现类似的效果,而无需通过调色板。

相关内容