• 技术文章 >开发工具 >VSCode

    带你用VSCode的Format功能实现代码格式化

    青灯夜游青灯夜游2023-03-10 19:49:10转载299

    只用VSCode自带的Format功能,即可满足可配置的代码格式化需求!下面本篇文章就来带大家了解一下VSCode的Format功能,希望对大家有所帮助!

    近年开发环境越来越重视代码的规范化,借助工具来检查、自动化修复,成为了代码保障的第一选择。

    一般会使用Lint (ESLint StyleLint)Prettier等辅助工具,通过简单的配置部署,就可以使用一些比较流行的Code Style规范,达到自动提示、自动修复、自动执行和监督的目的。

    但是不知道大家有没有遇到以下几种情景:

    尤其是最后一条,其实很多小项目只要能满足最基本的格式化就行,能保证团队内都能满足并执行一套简单规范,其它比较严格的规范可以不用考虑。

    这里提到一个概念,规范分为两种:代码格式规则(Formatting rules)代码质量规则(Code-quality rules)。上述提到的基本规范,基本就属于代码格式规则

    下面列下有哪些常用的,基本的格式化规则,即代码格式规则,以 standardjs style 为例:

    可以看到,基本都是分号 缩进 空格 空白相关的规范,而这些规范在一些IDE里已经集成好了。

    比如VSCode,就可以通过简单配置,满足上述的所有规则。

    VSCode Format

    VSCode自身就带有一个Format功能,大多文件类型都支持。默认快捷键是Ctrl+K+D

    image.png

    还支持设置为Format on Save

    image.png

    然后列下上述基本规范里,哪些不包含在默认Format功能里。

    就4个,其中第3个可以说规则不一样,但是有规则的,所以综合就3个。所以说大部分规则默认format功能里已经支持了。

    1. 分号

    分为三种规范:要求必须有分号禁止分号都行。市面上流行规范里,啥样都有,但是一般都是要求必须有或者禁止的。

    VSCode默认没有要求,但是可以通过settings定义:

    image.png

    2. 缩进规范

    一般分为两种规范,2个空格还是4个空格,现在大多市面上流行的规范里,都是以2个空格为准。

    VSCode默认规范是:

    image.png

    如上图是默认配置,如果想所有文件都以2个空格缩进作为规范,可以先关掉Detect Indentation,再把Tab Size设置为2。

    如果不关Detect Indentation,只改Tab Size为2,则是根据文件内容缩进,然后新建文件是2个空格缩进。

    VSCode是根据什么检测文件的tabsize是多大,可以在文件底部状态栏看到,点击还可以更改。

    image.png

    3. 文件末尾留一空行

    settings里搜索关键字insertFinalNewline,默认选项是disable的,check上,save时就会给所有文件末尾留一空行。

    image.png

    综上

    综上,所有settings配置如下:

    这里建议设置Workspace下的settings,设置后会在.vscode路径下生成settings.json文件,可以提交到git上统一开发团队内部规范。

    // .vscode/settings.json
    {
      "editor.formatOnSave": true, // 保存文件自动format
      "javascript.format.semicolons": "insert", // js文件,强制必须有分号,设置`remove`则禁止分号
      "typescript.format.semicolons": "insert", // ts文件,同上
      "editor.tabSize": 2, // 设置默认缩进为2个空格
      "editor.detectIndentation": false, // 是否强制所有文件按tabSize设置缩进;"否"则根据文件内容缩进、新建文件按tabSize缩进。
      "files.insertFinalNewline": true, // 所有文件末尾留一空行
      "[javascript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features" // 设置js类型文件的默认format为VSCode自带Format
      },
      "[javascriptreact]": {
        "editor.defaultFormatter": "vscode.typescript-language-features" // jsx文件,同上
      },
      "[css]": {
        "editor.defaultFormatter": "vscode.css-language-features" // css文件,同上
      },
      "[less]": {
        "editor.defaultFormatter": "vscode.css-language-features" // less文件,同上
      }
    }

    其实VSCode settings里还可以配置更多的format配置,大家可以自己摸索。

    其它格式文件Format

    比如css、less、json、md等,个人感觉直接用VSCode默认的就够了。

    其它规范:

    除了以上提到的代码格式规则,其它规范就属于是代码质量规则了,这种用ESLint规范下就行了,因为这些规范和上述代码格式规则是不冲突的,配合ESLint的auto fix on save,可以满足保存文件的时候,先用VSCode format 代码格式规则,然后用ESLint处理代码质量规则。举几个例子:

    关于ESLint的用法,可以参考之前的文章:ESLint配合VSCode 统一团队前端代码规范

    最后

    本文整理了如何只用VSCode开发工具,来规范前端Code的代码格式规范,并且支持可配置、保存文件自动格式化代码功能。

    优点:

    缺点:

    此文只是提供了一种代码格式规范的一种解决方案,一种思路,适不适合自己还得看自身需求。

    更多关于VSCode的相关知识,请访问:vscode基础教程

    以上就是带你用VSCode的Format功能实现代码格式化的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:VSCode
    上一篇:一文详解vscode配置C/C++运行环境【保姆级教学】 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 【整理分享】20个实用又好看VSCode主题 ,值得收藏!• 浅析VSCode怎么调试PhpStudy环境里的代码• 【整理分享】30个让开发效率倍增的实用VSCode 插件• vscode安装包下载太慢怎么解决?两种方法详解• vscode中怎么运行php?(环境配置教程)
    1/1

    PHP中文网