註:本篇適用於 Mac,若用 Linux 請依照 Distribution 尋找適用的安裝指令 (apt, yum, ...),Windows 很久沒用了不瞭解安裝方式。
Mac 內建的 ctags 不支援 recursive 資料夾搜尋 (-R 選項),因此根本不符合需求。
如果遇到類似 "illegal option -- R" 的錯誤訊息,很有可能是因為吃到內建的 ctags。
先跑 Homebrew 自我檢測工具,盡量排除警告訊息
安裝 ctags
如果裝好後 ctags 還是吃到內建的 /usr/bin/ctags
,需注意你的 $PATH
的順序是否正確。
如果你的 Sublime Text 還沒有安裝 Package Control,請先安裝。
cmd
+shift
+p
叫出指令框Enter
執行Enter
安裝如果 Sublime 還是吃不到 homebrew 的 ctags,可以強制指定
如圖所示
如果你習慣,也可以透過 cmd
+shift
+p
下 Rebuild 指令。
到這裡已經可以使用 "Navigate to Definition" 的功能了,但再加上一些設定會更好。
首先要說一件事,如果你從 command line 自己下 ctags
指令時,預設檔名是 tags
。但由於 tags
也是很常見的名稱,常常造成衝突,因此現在大多習慣用 .tags
取代之,sublime CTags 外掛也遵循這個慣例。
各 project 一一放到 .gitignore
也可以,但通常大家手上都很多 projects,而且基本上很少有與 .tags
名稱衝突的檔案,因此我直接設到 gitignore_global。
如果你還沒有 .gitignore_global
檔案,請先設定,詳細可參考 Ignoring files
~/.gitignore_global
的寫法基本上就跟各 project 下的 .gitignore
寫法一樣,但這個會跨 projects。
在裡面加入:
由於 .tags 也是純文字檔,全 project 搜尋時也會找到其內容,而且因為是 .
開頭,通常都蠻前面的,有點惱人。因此用 User Preference 將這幾個檔案排除,除了搜尋不到,也會從左側檔案列表內消失。
註:這是針對 Ruby/Rails 的功能。
在 project 根目錄執行
這招參考自 ctags in Rails project,裡面提到可以做成 alias,但我這麼做並執行完,老是會跳到最後一個 gem 的目錄,還不知道怎麼解。
雖然有人把這個作法直接包一層取代 ctags 指令,但相關方法我設定失敗,加上考慮到這麼做會讓每次 rebuild 都會花很多時間在沒有變動 (gems) 的 code 上,因此我沒有採用。
有興趣的話,可以看看
我最後的方案是:
/usr/local/bin/ctags
ctags_ruby_enhance
(這個段落有重寫過)
請參考 官方文件 Commands Listing 段落
或照老方法設定 key binding
Theme - Nexus
,可以透過 Package Control 找到。Theme - Nil / Tubnil
,不過我最近的新歡是 Tomorrow Color Scheme / Night Bright
,都可以透過 Package Control 找到。安裝 SideBarEnhancements
以上
最近還玩了一下 sublime_debugger:sublime 跟 ruby-debugger/byebug 整合,做到類似 Visual Studio 的強大 debug 功能(擁有 break point、逐行執行、區域變數列表、immediate evaluate 等等功能),如果有空的話希望也能寫成一篇啊啊啊啊啊啊
2014-03-04 UPDATE: 已寫 => 安裝 Sublime Text 3 互動式 Ruby Debug 外掛
联系客服