Sublime Text 2 修改变量颜色

欢迎前往个人博客 驽马点滴 和视频空间 哔哩哔哩-《挨踢日志》

需求分析


在 Lua 编程过程中,我们希望能够体验“所见即所得”的效果,即:

  • 看到 this 或者 self 就知道这是一个对象的实例
  • 看到 m_Name , m_Callback 就知道这是成员变量
  • 看到 _var_name 就知道这是一个局部变量
  • 看到 __var_func 就知道这是一个 function 类型局部变量

这是我们通过 约定命名规则实现知识的“共享”,以 减少理解的成本

实际过程中,我们看到的代码很可能是这样的:

image.png

虽然在命名层面,我们达成了一致,然而,要想快速识别出 selfthis 、成员变量、局部变量、局部函数等,仍然不直观

于是,我们希望通过 为不同命名规则的变量设置不同的颜色提高大脑识别的速度
我们希望的效果应该是这样的:

image.png

实现


要完成上述功能,我们只需要改动2个文件的配置,保存完毕即可。

文件列表

这两个文件是:

  1. C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Color Scheme - Default\Monokai.tmTheme
  2. C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Lua\Lua.tmLanguage

说明:

  • 其中的 HX 是用户名,不要懵了,那是我的名字
  • Monokai.tmTheme 是我选择的 color 主题, 我最喜欢这个,在这个主题上进行了一些修改
  • 只修改 Lua.tmLanguage 是因为我目前只用 Lua 语言进行开发工作

修改配置:

  • C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Color Scheme - Default\Monokai.tmTheme
    中添加如下配置


    name
    UserVariable
    scope
    user_variable
    settings
    
        fontStyle
        
        foreground
        #00BFFF
    


    name
    UserMemberVariable
    scope
    user_member_variable
    settings
    
        fontStyle
        
        foreground
        #EEEE00
    


    name
    UserLocalVariable
    scope
    user_local_variable
    settings
    
        fontStyle
        
        foreground
        #FD971F
    


    name
    UserLocalFunctionVariable
    scope
    user_local_function_variable
    settings
    
        fontStyle
        
        foreground
        #FF00FF
    


    name
    UserClass
    scope
    user_class
    settings
    
        fontStyle
        
        foreground
        #66D9EF
    


内容很简单,提供了几类不同命名规则变量的颜色配置信息

  • C:\Users\HX\AppData\Roaming\Sublime Text 2\Packages\Lua\Lua.tmLanguage
    修改和添加以下配置

    match
    (?<![^.]\.|:)\b(self|_self)\b
    name
    user_variable.language.self.lua


    match
    (?<![^.]\.|:)\b(this|_this)\b
    name
    user_variable.language.lua


    match
    (?<![^.]\.|:)\b(params)\b
    name
    variable.language.lua


    match
    (?<![^.]\.|:)\b(class)\b
    name
    user_class.language.lua


    match
    (?<!:)\b(m_([a-zA-Z0-9_]*))\b
    name
    user_member_variable.language.lua


    match
    (?<![^.]\.|:)\b(_([a-zA-Z0-9])([a-zA-Z0-9_]*))\b
    name
    user_local_variable.language.lua


    match
    (?<![^.]\.|:)\b(__([a-zA-Z0-9])([a-zA-Z0-9_]*))\b
    name
    user_local_function_variable.language.lua

上面的内容也很简单,将正则表达式匹配的文本,设置为对应的样式配置。(到这步,你已经懂得了匹配规则到样式的映射关系,那么,如何配置成你想要的样式,就任你发挥了)

保存~尽情体验所见即所得的快感吧~~

你可能感兴趣的:(Sublime Text 2 修改变量颜色)