zoukankan      html  css  js  c++  java
  • SublimeText 自带格式化代码功能

    其实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
     
    经验内容仅供参考,如果您需解决具体问题(尤其法律、医学
  • 相关阅读:
    通过HttpListener实现简单的Http服务
    WCF心跳判断服务端及客户端是否掉线并实现重连接
    NHibernate初学六之关联多对多关系
    NHibernate初学五之关联一对多关系
    EXTJS 4.2 资料 跨域的问题
    EXTJS 4.2 资料 控件之Grid 那些事
    EXTJS 3.0 资料 控件之 GridPanel属性与方法大全
    EXTJS 3.0 资料 控件之 Toolbar 两行的用法
    EXTJS 3.0 资料 控件之 combo 用法
    EXTJS 4.2 资料 控件之 Store 用法
  • 原文地址:https://www.cnblogs.com/waw/p/8652600.html
Copyright © 2011-2022 走看看