[Sublime Text] 修正 Function Name Display 無法顯示類別名稱的問題
蠻喜歡 Sublime Text 的一個 Function Name Display 擴充功能,
它可以顯示函式所屬的類別 class,當我迷失在複雜程式裡面時,這個指引很有幫助~
不過不知道從什麼時候開始,它就只能顯示出所在的函式名稱,
卻沒辦法顯示出所屬的類別,即使設定裡面已經有將 display_class 設成 True 了…
如下圖,這個在類別中的 __init__() 函式,在左下角並沒能顯示出類別名稱:
如果到 GitHub 上看時,可以看到有人在回報一樣的問題,
甚至還有人已經提供了修正的方法,只是作者似乎都還沒有將修正合併進去…
只好來自力救濟了…
在 Mac 上打開 Terminal,
進到 ~/Library/Application Support/Sublime Text 3/Installed Packages 目錄,
這裡面可以看到一堆我們已經安裝好給 Sublime Text 用的套件,
其中有一個就是 Function Name Display.sublime-package。
這是一個 zip 檔案,先用 unzip 將其中的 FunctionNameStatus.py 解開:
unzip "Function Name Display.sublime-package" FunctionNameStatus.py
接著來修改一下 FunctionNameStatus.py~
把第 82 行的 class_regions = view.find_by_selector(‘entity.name.type.class’)
其中的 entity.name.type.class 改成 entity.name.class,
再將改好的 FunctionNameStatus.py 放回 Function Name Display.sublime-package 裡:
zip "Function Name Display.sublime-package" FunctionNameStatus.py
按 Cmd-Q 完全關閉 Sublime Text 後再重開~
久違的類別名稱終於出現囉,可以看到目前函式是屬於哪個類別的:
不過還是希望原作者可以趕快把這問題修正好呀~
參考資料:What is the full path to the Packages folder for Sublime text 2 on Mac OS Lion