我在Sublime Text 3上工作,並且爲不同的PHP框架安裝了許多代碼片段,例如Codeigniter和Laravel。如何啓用/禁用Sublime Text中特定項目的特定片段?
有沒有什麼辦法可以選擇哪些片段爲項目啓用?如果我在Laravel上工作,Codeigniter片段不應該顯示,反之亦然?
我在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