歡迎前往個人博客 駑馬點滴 和視頻空間 嗶哩嗶哩-《挨踢日志》
需求分析
在 Lua 編程過程中颠黎,我們希望能夠體驗“所見即所得”的效果另锋,即:
- 看到 this 或者 self 就知道這是一個對象的實例
- 看到 m_Name , m_Callback 就知道這是成員變量
- 看到 _var_name 就知道這是一個局部變量
- 看到 __var_func 就知道這是一個 function 類型局部變量
這是我們通過 約定命名規(guī)則 來 實現(xiàn)知識的“共享”,以 減少理解的成本狭归。
實際過程中夭坪,我們看到的代碼很可能是這樣的:
雖然在命名層面,我們達成了一致唉铜,然而台舱,要想快速識別出 self
、this
潭流、成員變量竞惋、局部變量、局部函數(shù)等灰嫉,仍然不直觀拆宛。
于是,我們希望通過 為不同命名規(guī)則的變量設(shè)置不同的顏色 來 提高大腦識別的速度讼撒。
我們希望的效果應(yīng)該是這樣的:
實現(xiàn)
要完成上述功能浑厚,我們只需要改動2個文件的配置,保存完畢即可根盒。
文件列表
這兩個文件是:
C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Color Scheme - Default\Monokai.tmTheme
C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Lua\Lua.tmLanguage
說明:
- 其中的 HX 是用戶名钳幅,不要懵了,那是我的名字
-
Monokai.tmTheme
是我選擇的 color 主題炎滞, 我最喜歡這個敢艰,在這個主題上進行了一些修改 - 只修改
Lua.tmLanguage
是因為我目前只用 Lua 語言進行開發(fā)工作
修改配置:
- 在
C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Color Scheme - Default\Monokai.tmTheme
中添加如下配置
<!-- User Define Begin -->
<dict>
<key>name</key>
<string>UserVariable</string>
<key>scope</key>
<string>user_variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#00BFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>UserMemberVariable</string>
<key>scope</key>
<string>user_member_variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#EEEE00</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>UserLocalVariable</string>
<key>scope</key>
<string>user_local_variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FD971F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>UserLocalFunctionVariable</string>
<key>scope</key>
<string>user_local_function_variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF00FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>UserClass</string>
<key>scope</key>
<string>user_class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<!-- User Define End -->
內(nèi)容很簡單,提供了幾類不同命名規(guī)則變量的顏色配置信息
- 在
C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Lua\Lua.tmLanguage
中
修改和添加以下配置
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(self|_self)\b</string>
<key>name</key>
<string>user_variable.language.self.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(this|_this)\b</string>
<key>name</key>
<string>user_variable.language.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(params)\b</string>
<key>name</key>
<string>variable.language.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(class)\b</string>
<key>name</key>
<string>user_class.language.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<!:)\b(m_([a-zA-Z0-9_]*))\b</string>
<key>name</key>
<string>user_member_variable.language.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(_([a-zA-Z0-9])([a-zA-Z0-9_]*))\b</string>
<key>name</key>
<string>user_local_variable.language.lua</string>
</dict>
<dict>
<key>match</key>
<string>(?<![^.]\.|:)\b(__([a-zA-Z0-9])([a-zA-Z0-9_]*))\b</string>
<key>name</key>
<string>user_local_function_variable.language.lua</string>
</dict>
上面的內(nèi)容也很簡單册赛,將正則表達式匹配的文本钠导,設(shè)置為對應(yīng)的樣式配置震嫉。(到這步,你已經(jīng)懂得了匹配規(guī)則到樣式的映射關(guān)系牡属,那么票堵,如何配置成你想要的樣式,就任你發(fā)揮了)
保存~盡情體驗所見即所得的快感吧~~