[英]How do I enable syntax highlighting for my Gemfile in Sublime Text 2?
我最近開始使用Sublime Text 2.這是一個很棒的編輯器。 它在突出顯示Ruby代碼方面做得很好,但它沒有突出顯示我的Gemfile。
有沒有辦法讓它做到這一點?
我找到了這個要點,但沒有關於如何使用它的說明。
至少有三種選擇:
"Gemfile"
添加到Ruby語法文件列表中 1.沒有解釋,但是方便
您可以綁定擊鍵來設置語法而無需移動到鼠標。
我將語法更改為Ctrl-Opt-Space,方法是將以下內容添加到我的用戶鍵綁定中:
[
{ "keys": ["ctrl+alt+space"],
"command": "show_overlay",
"args": { "overlay": "command_palette", "text": "Set Syntax: " } }
]
2.將"Gemfile"
添加到Ruby語法文件列表中
~/.config/sublime-text-2/Packages/Ruby/Ruby.tmLanguage
~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
%APPDATA%/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
您也可以使用菜單選項Preferences -> Browse Packages
並進入Ruby包。 一旦你進入文件就很明顯了:它是具有Ruby外觀文件名的<array>
元素。 添加<string>Gemfile</string>
就可以了。
升級可能會覆蓋設置; 我不確定ST2是如何工作的 - 通過代碼片段可以更清晰地完成它。
3.使用您鏈接的代碼段
更多工作(以及一個語法錯誤的更正)。 您可以手動執行,通過在Packages
創建目錄(請參閱上面的位置)或創建實際包並允許ST2安裝它。
我創建了一個名為"Syntax"
的測試包,並將片段復制到其中,重新啟動ST2,打開Gemfile
按預期工作。 修正需要額外的冒號( 新要點 ),簡言之:
elif name[-3] == "erb": # Needed a semi-colon here.
set_sintax(view, "HTML (Rails)", "Rails")
如果您在這里但使用Sublime Text 3,您可能無法在包中找到“Ruby語法文件列表”。
在線發現的大多數其他解決方案讓我感到困惑。
當你在Sublime Text 3中打開文件時,我通過在右下角文件擴展菜單項中手動將Gemfile更改為Ruby來解決這個問題(這是我每次打開文件時一直在做的事情)。
選擇ruby后,轉到Preferences - > Settings-More - > Syntax Specific-User
{
"extensions":
[
"Gemfile",
"Gemfile.lock"
]
}
當您導航到特定於語法的用戶時,它會打開一個特定於該文件具有語法突出顯示的語言的文件。 您可能需要將文件更改回任何默認值(我的是'Rd(R文檔).sublime-settings')並從該語法突出顯示文件中刪除Gemfile。
在Ubuntu中,這些文件存儲在
~/.config/sublime-text-3/Packages/User
ST2的DetectSyntax插件為突出顯示文件提供了更全面的解決方案 - 它允許基於規則的文件突出顯示。 它足夠聰明,可以理解Rails文件,使用.rb
作為擴展名的其他文件和標准ruby文件之間的區別。
標准規則包括Gemfile
, Rakefile
, Guardfile
以及與Ruby進行語法格式匹配的其他規則。
請參閱GitHub上的DetectSyntax 。
您可以通過復制用戶/文件夾中的HTML.tmLanguage文件來實現此目的,這樣它就不會被更新覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.