SublimeText 自带格式化代码功能

2018/03/26 18:01
阅读数 829

其实sublime自身就有格式化命令,就不再安装插件,位置在[Preferences]->[Key Bindings]->[User]中,   中文版的位置在  [首选项]->[按键绑定-用户],弹出的页面中

,添加如下代码,为其设置快捷键:Ctrl+Shift+r

复制代码
{
 "keys": ["ctrl+shift+r"],
 "command": "reindent", 
 "args": {
    "single_line": false
    }
}
复制代码

 

 

sublime是一款非常轻便,插件丰富,功能强大的编辑器。也正因为其通用性,所以很多功能需要安装插件,通过插件来实现。

比如悬赏的代码格式化功能,其实问题相当地不准确,因为不同语言的格式化功能是根据不同的插件来实现的。接下来,笔者就来讲讲sublime格式化代码的处理方法。

首先声明,笔者当前所用的sublime是最新的sublime text 3正式版,所以外观上可能之前的版本稍有不同,但是sublime各版本功能基本一致,不影响使用。

工具/原料

 
  • sublime text 3

方法/步骤

 
  1.  

    第一部分,我们来讲sublime自带的、基本的代码格式化功能——“reindent”。

    个人先建立了一个HTML页面作为示例。多个元素的排列和缩进都被打乱。

    sublime如何格式化代码
  2.  

    为了使其排列整齐,我们对文本进行全选(当然,如果只想重新排列部分代码也可以选择部分),然后选择sublime菜单栏的“edit”-“line”-“reindent”选项。reindent即重新缩进,顾名思义,即对当前的文本进行重新缩进处理。也可以看到,在其上方还有indent 和 unindent两个选项,分别代表增加缩进和减少缩进功能,并在后方写有其快捷键,各位网友可以自行尝试。

    sublime如何格式化代码
  3.  

    在“reindent”后,可以看到,全部的代码缩进都正常了。但是,sublime自带的重新缩进功能较为单一,就像其名称一样,仅仅是保证缩进正常了而已。而对于代码中写法不规范的地方,无法进行处理,这不符合我们编码的需求。接下来我们结合sublime插件,来讲解更完善的格式化代码功能。

    sublime如何格式化代码
  4.  

    第二部分,笔者将结合sublime插件来进行代码的格式化处理。由于不同的代码有不同的格式化要求,本部分仅使用sql format来进行演示,其它语言的格式化大家可以自行查找插件安装。首先,笔者在网上找了一段SQL代码,并特地打乱了其排布。

    sublime如何格式化代码
  5.  

    然后,使用快捷键Ctrl+Shift+P或者点击sublime菜单栏的“Preferences”-“package control”, 打开命令面板。如果各位网友没能打开,说明尚未安装package control,可以看下方的注意事项。

    sublime如何格式化代码
  6.  

    选择命令面板中的Install package,在新弹出的搜索栏中输入“format”可以看到有大量的格式化插件可供选择。当然,并不是所有的格式化插件都要有format字样。重新搜索,笔者选择了名为“SQL Beautifier”的SQL格式化插件。

    sublime如何格式化代码
  7.  

    安装完成之后,该插件在Windows下提供了Ctrl+K 、Ctrl+F的格式化快捷键,从而提供格式化操作。注意,是先按Ctrl + K,再按下Ctrl + F,否则的话,单独使用Ctrl+F是默认查找的快捷键。该格式化插件的GitHub主页:https://github.com/zsong/SqlBeautifier 。格式化效果如下图:

    sublime如何格式化代码
  8. 8

    总结,sublime本身只提供基本的缩进重置功能,不同语言的格式化可以使用不同的插件来实现。开源社区的生命力是无与伦比的,各种层出不穷的插件为我们的开发工作提供了诸多便利。

    END

注意事项

 
  • 不同版本(sublime text2/3)的插件偶尔会不兼容,需要注意。
  • 部分插件的运行偶尔需要先决程序,比如需要电脑上安装了Python,Ruby, Nodejs等,大家在使用过程中多看文档。
  • 这里附上package control 的安装经验 http://jingyan.baidu.com/article/c14654134b8bde0bfcfc4c9a.html
 
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部