VSCode - setting.json配置 - Prettier、Vetur格式化和ESLint检查

2 篇文章 0 订阅

vscode 前端最佳插件配置

格式化代码时用到的插件

ESLint(代码规范和错误检查工具,控制代码质量)
Prettier(代码格式化工具)
Vetur(识别 vue 文件)
EditorConfig for VS Code(定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要)
Syncing(同步你的 VS Code 配置,在另一台机器使用可以自动同步配置,不需要重新慢慢配了)
Manta’s Stylus Supremacy(使得 stylus 格式化更好看)

一、ESLint检查与保存修复

如果项目使用ESLint,按以下设置保存自动修复飘红代码
vscode >1.41.0生效
ESLint官网
如果ESLint配置的完整,prettier加不加都可以,保存自动修复不合规代码

  // --------------------  配置eslint  --------------------
  //autoFixedOnSave 设置已废弃,采用如下新的设置,新版(>1.41.0)配置
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "eslint.format.enable": true,
  //autoFix默认开启,只需输入字符串数组即可
  "eslint.validate": [
    "javascript",
    "vue",
    "html",
    "javascriptreact",
    "vue-html"
  ],
  // --------------------  配置eslint  --------------------

二、格式化vue文件不自动换行

1、vscode下载ESlint, Prettier, Vetur插件
2、打开vscode 选择 文件->首选项->设置
3、搜索vetur.format.defaultFormatterOptions,之后在setting.json中编辑
4、ctrl + s 保存 ,设置默认Vetur
不足:vue中的js无法配置单双引号,句尾分号
settings.json:

  // ----------------  设置属性、js不自动换行  ----------------
  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      "wrap_attributes": "aligned-multiple" //当超出折行长度时,将属性进行垂直对齐
    },
    "prettyhtml": {
      "printWidth": 100,//每行100字符
      "singleQuote": false,//单引号强制转双引号
      "wrapAttributes": false,
      "sortAttributes": false
    }
  },
  // 这个按用户自身习惯选择
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  // 让vue中的js按编辑器自带的ts格式进行格式化
  "vetur.format.defaultFormatter.js": "vscode-typescript",
  // ----------------  设置属性、js不自动换行  ----------------

在这里插入图片描述

三、Vetur格式化

Vetur配置主要针对vue文件,包含vue文件折行设置,句尾分号,key是否使用单引号,方法末尾是否加逗号进行的配置
vue文件设置默认格式化为Vetur
不足:vue中的js换行有点异常

 // --------------------  vetur 配置  --------------------
  // vue文件默认格式化工具:vetur
  "[vue]": {
    "editor.defaultFormatter": "octref.vetur"
  },
  // 这个按用户自身习惯选择
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  // 让vue中的js按编辑器自带的ts格式进行格式化
  //  "vetur.format.defaultFormatter.js": "vscode-typescript",
  // 让vue中的js按prettier进行格式化 用这个
  "vetur.format.defaultFormatter.js": "prettier",
  "vetur.format.defaultFormatterOptions": {
    "js": "prettier",
    "js-beautify-html": {
      "wrap_attributes": "aligned-multiple" //当超出折行长度时,将属性进行垂直对齐
    },
    "prettyhtml": {
      "tabWidth": 4, // 会忽略vetur的tabSize配置
      "printWidth": 100, //每行100字符
      "singleQuote": true, //是否使用单引号
      "semi": false, // 句尾是否加;
      "wrapAttributes": false,
      "sortAttributes": false
    },
    //vue中的js生效
    "prettier": {
      "semi": false, // 句尾是否加;
      "singleQuote": true, //是否使用单引号
      "trailingComma": "none" //禁止随时添加逗号
    }
  },
  // --------------------  vetur 配置  --------------------

三、Prettier格式化

因为vue使用Vetur配置,这里的prettier 单独配置主要针对js文件句尾分号,key是否使用单引号,方法末尾是否加逗号进行的配置
发现设置不生效主要因为Prettier默认按.editorConfig配置为最高优先级
js文件设置默认格式化为Prettier

优先级
1、项目目录的.prettierrc文件,支持json和分号格式(其实还有很多种)
2、项目目录的.editorconfig文件(默认配置)
3、vscode的配置文件(也有好几个地方配置,包括vetur节点下面)

测试过程中发现一个插件可以不按以下配置直接对js文件格式化Prettier-Standard - JavaScript formatter

  // --------------------  prettier 配置(以下配置主要针对.js)  --------------------
  "prettier.useEditorConfig": false, // 不使用editorConfig配置文件设置才生效
  "prettier.semi": false, // 句尾是否加;
  "prettier.singleQuote": true, //是否使用单引号
  "prettier.trailingComma": "none", //禁止随时添加逗号
  // --------------------  prettier 配置  --------------------

完整的setting.json

{
  "workbench.iconTheme": "vscode-icons",
  // --------------------  配置eslint  --------------------
  //autoFixedOnSave 设置已废弃,采用如下新的设置,新版(>1.41.0)配置
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "eslint.format.enable": true,
  //autoFix默认开启,只需输入字符串数组即可
  "eslint.validate": [
    "javascript",
    "vue",
    "html",
    "javascriptreact",
    "vue-html"
  ],
  // --------------------  配置eslint  --------------------
  // 设置编辑器的默认格式化工具
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[less]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  //方法括号之间插入空格
  "javascript.format.insertSpaceBeforeFunctionParenthesis": false,
  // --------------------  vetur 配置  --------------------
  // vue文件默认格式化工具:vetur
  "[vue]": {
    "editor.defaultFormatter": "octref.vetur"
  },
  // 这个按用户自身习惯选择
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  // 让vue中的js按编辑器自带的ts格式进行格式化
  //  "vetur.format.defaultFormatter.js": "vscode-typescript",
  // 让vue中的js按prettier进行格式化 用这个
  "vetur.format.defaultFormatter.js": "prettier",
  "vetur.format.defaultFormatterOptions": {
    "js": "prettier",
    "js-beautify-html": {
      "wrap_attributes": "aligned-multiple" //当超出折行长度时,将属性进行垂直对齐
    },
    "prettyhtml": {
      "tabWidth": 4, // 会忽略vetur的tabSize配置
      "printWidth": 100, //每行100字符
      "singleQuote": true, //是否使用单引号
      "semi": false, // 句尾是否加;
      "wrapAttributes": false,
      "sortAttributes": false
    },
    //vue中的js生效
    "prettier": {
      "semi": false, // 句尾是否加;
      "singleQuote": true, //是否使用单引号
      "trailingComma": "none" //禁止随时添加逗号
    }
  },
  // --------------------  vetur 配置  --------------------
  // --------------------  koro1FileHeader 配置  --------------------
  // 头部注释
  "fileheader.customMade": {
    "Author": "AuthorName",
    "Date": "Do not edit", // 文件创建时间(不变)
    "LastEditors": "AuthorName", // 文件最后编辑者
    "LastEditTime": "Do not edit", // 文件最后编辑时间
    "Description": ""
    // "FilePath": "only file name", // 只有文件名
    // "custom_string_obkoro1_copyright": "Copyright (C) ${now_year} AuthorName. All rights reserved.",
    // "custom_string_obkoro1_date": "Do not edit" // 不带Date前缀的时间
  },
  // 函数注释
  "fileheader.cursorMode": {
    "description": "",
    //"custom_string_obkoro1": "",
    "param": "params",
    "return": ""
  },
  // 插件配置项
  "fileheader.configObj": {
    "createHeader": false, // 新建文件自动添加头部注释,默认打开
    "autoAdd": false, // 保存自动添加头部注释,开启才能自动添加,默认开启
    "openFunctionParamsCheck": true, //函数注释自动提取函数的参数,默认开启
    "createFileTime": true, // 默认为此文件的创建时间,设为false更改为当前生成注释的时间
    "dateFormat": "YYYY-MM-DD HH:mm:ss", // 默认时间格式,修改影响所有时间字段
    // 自定义注释中的艾特和冒号:
    "atSymbol": ["@", "@"], // 所有文件的头部注释和函数注释的默认值 @
    "colon": [": ", ": "] // 所有文件的头部注释和函数注释的默认值 :
    // 自定义特殊字段名,Date、LastEditTime、LastEditors、Description、FilePath
    // "specialOptions": {
    //   "Date": "since",
    //   "LastEditTime": "lastTime",
    //   "LastEditors": "LastAuthor",
    //   "Description": "message",
    //   "FilePath": "文件相对于项目的路径"
    // }
    // 函数参数配置
    // "functionParamsShape": "normal", // 正常
    // "functionParamsShape": "no bracket", // 没有方括号
    // "functionParamsShape": "no type", // 没有类型
    // "functionParamsShape": [ "{", "}"], // 函数参数外形自定义,默认值 {}
    // "functionTypeSymbol": "*", // 参数没有类型时的默认值 *
    // 函数设置不添加参数和类型 {*}
    // "functionParamsShape": "no type", // 没有类型
    // "functionTypeSymbol": "" // 参数没有类型时的默认值 *
  },
  // --------------------  koro1FileHeader 配置  --------------------
  // --------------------  prettier 配置(以下配置主要针对.js)  --------------------
  "prettier.useEditorConfig": false, // 不使用editorConfig配置文件设置才生效
  "prettier.semi": false, // 句尾是否加;
  "prettier.singleQuote": true, //是否使用单引号
  "prettier.trailingComma": "none", //禁止随时添加逗号
  // --------------------  prettier 配置  --------------------
  "git.confirmSync": false,
  "security.workspace.trust.untrustedFiles": "open"
}
  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 好的,下面是配置setting.json文件实现自动格式化的步骤: 1. 打开VS Code,按下 `Ctrl + Shift + P`,在搜索框中输入“settings.json”,选择“Preferences: Open User Settings”选项,打开用户设置。 2. 在用户设置页面中,点击右上角的“{}”按钮,打开settings.json文件。 3. 在settings.json文件中,添加以下内容: ```json "editor.formatOnSave": true, "[javascript]": { "editor.formatOnSave": false }, "[json]": { "editor.formatOnSave": true }, "[typescript]": { "editor.formatOnSave": false }, ``` 其中,`editor.formatOnSave`表示保存时是否自动格式化代码。在上面的配置中,JavaScript文件保存时不进行自动格式化,而JSON文件保存时自动格式化。 4. 保存settings.json文件,配置就生效了。 这样,当你在VS Code中编辑代码时,保存文件时会自动进行格式化,让你的代码更加整洁易读。 ### 回答2: VSCode是一款功能强大的代码编辑器,可以通过配置setting.json文件实现自动格式化。 首先,我们需要打开VSCode并在左侧的侧边栏中选择“扩展”图标。接下来,点击搜索框并输入“Prettier - Code formatter”来安装Prettier插件。Prettier是一个代码格式化工具,可以帮助我们自动格式化代码。 安装完成后,点击左上角的文件菜单,选择“首选项”并选择“设置”。这将打开setting.json文件,其中包含了VSCode的所有配置选项。 在setting.json文件中,我们需要配置以下几个参数来实现自动格式化: 1. `"editor.formatOnSave": true`:这个参数表示在保存文件时自动格式化代码。 2. `"editor.defaultFormatter": "esbenp.prettier-vscode"`:这个参数指定了默认的代码格式化工具为Prettier配置完成后,保存setting.json文件。现在,只要我们编辑保存文件时,VSCode将会自动调用Prettier插件来格式化代码。 此外,我们还可以根据自己的需求进行更多的配置。例如,可以配置Prettier格式化规则,如缩进大小、换行符等。可以在setting.json文件中添加以下参数: ``` "prettier.tabWidth": 2, "prettier.singleQuote": true ``` 这两个参数分别设置缩进大小为2和使用单引号。根据自己的需要进行配置即可。 总之,通过配置setting.json文件中的相关选项,我们可以实现VSCode的自动格式化功能,使代码看起来更加整洁和易读。 ### 回答3: 要实现在VSCode中自动格式化代码,需要配置setting.json文件。首先,打开VSCode,点击左下角的设置图标,选择“首选项”>“设置”。在用户设置或工作区设置中,找到“Editor: Default Formatter”选项,并选择适合的代码格式化程序,如Prettier。 接下来,在setting.json文件中添加以下代码实现自动格式化: { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" } 其中,"editor.formatOnSave": true表示在保存文件时自动格式化代码,"editor.defaultFormatter": "esbenp.prettier-vscode"表示使用Prettier作为默认的代码格式化程序。 保存setting.json文件后,即可在保存文件时自动进行代码格式化。这样可以节省时间和提高代码的可读性。 需要注意的是,如果VSCode中还没有安装Prettier插件,需要先安装该插件,方法是点击左侧的扩展图标,搜索Prettier,然后选择并安装。这样才能正确使用Prettier进行代码格式化。 通过以上步骤配置setting.json文件,就可以在VSCode中实现自动格式化代码的功能了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值