如何启用/禁用Sublime Text中特定项目的特定片段?
我在Sublime Text 3上工作,并且为不同的PHP框架安装了许多代码片段,例如Codeigniter和Laravel。如何启用/禁用Sublime Text中特定项目的特定片段?
有没有什么办法可以选择哪些片段为项目启用?如果我在Laravel上工作,Codeigniter片段不应该显示,反之亦然?
不,这是不可能的。有一个feature request for snippet exclusion patterns。
一种解决方法是将片段分离成单独的封装,然后使用Package Control启用和禁用所述程序包上即时(通过命令调色板Ctrl键 + 移 + P)。
在下面的布局创建单独的软件包:
\
+-Packages
+- snippets_package_name_a
| \-*.sublime-snippet
+- snippets_package_name_b
| \-*.sublime-snippet
...
找到Packages目录:Menu > Preferences > Browse Packages...
。
打开命令调色板:按Ctrl +移+P
键入命令:
Package Control: Enable Package
Package Control: Disable Package
是,这很容易做到。假设您已为当前项目定义了.sublime-project
文件,请选择Project → Edit Project
,并在"settings"
字典中添加"ignored_packages": []
,并在数组中添加要忽略的包。下面是一个例子:
{
"folders":
[
{
"follow_symlinks": true,
"path": "/home/mattdmo/Projects/laravel_project_1"
}
],
"settings":
{
"ignored_packages": [
"CodeIgniter Snippets",
"CodeIgniter Utilities"
]
}
}
命名包只会在这个项目中被忽略。对于CodeIgniter项目,只需添加与Laravel相关的软件包即可。
这对我不起作用(Linux Build 3125)。它会覆盖用户定义的“ignored_packages”还是添加到它? –
我认为这是行不通的,因为有些设置似乎只是全局性的:https://forum.sublimetext.com/search?q=ignored_packages。有些设置很有意义,例如它会合并还是覆盖用户定义的设置,具有不同忽略包的多个项目将如何工作等等。 –
这很伤心,但我必须同意@GerardRoche。 不幸的是它不起作用 –
其实这很容易做到。看到我的答案。 – MattDMo