【小知识】VScode格式化代码配置及插件

【小知识】VScode格式化代码配置及插件VScode 格式化代码配置及插件学会使用扩展和配置 能让你的 vscode 生产效率提高百分之二十 鲁迅

VScode格式化代码配置及插件

学会使用扩展和配置,能让你的vs code生产效率提高百分之二十 ——鲁迅

打开setting(新版vscode打开方式2019版)

格式化的快捷键

  • Windows:Shift + Alt + F
  • Mac: Shift + Option + F
  • Ubuntu: Ctrl + Shift + I

配置在手,天下我有

{ 
    // tab 大小为2个空格 "editor.tabSize": 2, // 100 列后换行 "editor.wordWrapColumn": 100, // 保存时格式化 "editor.formatOnSave": true, // 开启 vscode 文件路径导航 "breadcrumbs.enabled": true, // prettier 设置语句末尾不加分号 "prettier.semi": false, // prettier 设置强制单引号 "prettier.singleQuote": true, // 选择 vue 文件中 template 的格式化工具 "vetur.format.defaultFormatter.html": "prettyhtml", // 显示 markdown 中英文切换时产生的特殊字符 "editor.renderControlCharacters": true, // 设置 eslint 保存时自动修复 "eslint.autoFixOnSave": true, // eslint 检测文件类型 "eslint.validate": [ "javascript", "javascriptreact", { 
    "language": "html", "autoFix": true }, { 
    "language": "vue", "autoFix": true } ], // vetur 的自定义设置 "vetur.format.defaultFormatterOptions": { 
    "prettier": { 
    "singleQuote": true, "semi": false } } } 

浅说一下各个插件

ESlint: javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好

Prettier – Code formatter: 只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown

vetur: 可以格式化html、标准css(有分号 、大括号的那种)、标准js(有分号 、双引号的那种)、vue文件,像这样
在这里插入图片描述
Manta’s Stylus Supremacy: 格式化stylus的插件(不用就不装),因为vetur会把css格式化有分号 、大括号的那种,此插件会把css格式化成stylus风格,像这样
在这里插入图片描述
Beautify
打开要格式化的文件 —> F1 —> Beautify file —> 选择你要格式化的代码类型
在这里插入图片描述
然后选择需要格式化的类型
在这里插入图片描述
















汇总一下一些插件之间的小问题

Vetur 对模版HTML代码没有格式化缩进
vscode 对 vue 的支持也是很棒的。对于 vue 的格式化,我们用到了 Vetur 插件,Vetur 插件的格式化大多也是直接用的 prettier 规范,但我们会发现Vetur 对模版HTML代码没有格式化缩进,可以配置下面这个:
注意安装这个插件后,可以在设置中看到如下的内容:
在这里插入图片描述
然后在后面在配置一下这个就可以让HTML可以格式化缩进啦:








"vetur.format.defaultFormatter.html": "prettier" 

vetur + Manta’s Stylus Supremacy
解决安装了vetur,又想安装Manta’s Stylus Supremacy时去掉vetur添加的分号大括号时可以这样配置:

 // 格式化stylus, 需安装Manta's Stylus Supremacy插件 "stylusSupremacy.insertColons": false, // 是否插入冒号 "stylusSupremacy.insertSemicolons": false, // 是否插入分好 "stylusSupremacy.insertBraces": false, // 是否插入大括号 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行 "stylusSupremacy.insertNewLineAroundBlocks": false // 两个选择器中是否换行 

vetur 格式化的标准js文件不符合ESlint规范
vetur 格式化的标准js文件不符合ESlint规范,会给你加上双引号、分号等
解决 vetur、prettier 格式化的标准js文件不符合ESlint规范的配置:




{ 
    // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 2, // #每次保存的时候自动格式化  "editor.formatOnSave": true, // #每次保存的时候将代码按eslint格式进行修复 "eslint.autoFixOnSave": true, // 添加 vue 支持 "eslint.validate": [ "javascript", "javascriptreact", { 
    "language": "vue", "autoFix": true } ], // #让prettier使用eslint的代码格式进行校验  "prettier.eslintIntegration": true, // #去掉代码结尾的分号  "prettier.semi": false, // #使用带引号替代双引号  "prettier.singleQuote": true, // #让函数(名)和后面的括号之间加个空格 "javascript.format.insertSpaceBeforeFunctionParenthesis": true, // #这个按用户自身习惯选择  "vetur.format.defaultFormatter.html": "js-beautify-html", // #让vue中的js按编辑器自带的ts格式进行格式化  "vetur.format.defaultFormatter.js": "vscode-typescript", "vetur.format.defaultFormatterOptions": { 
    "js-beautify-html": { 
    "wrap_attributes": "force-aligned" // #vue组件中html代码格式化样式 } } } 

vue 文件和 html 文件,没有 eslint 风格提示
vue 文件和 html 文件,没有 eslint 风格提示,如图:
在这里插入图片描述
解决方法:
在 setting.json 文件中加入如下配置:








 // eslint 检测文件类型 "eslint.validate": [ "javascript", "javascriptreact", { 
    "language": "html", "autoFix": true }, { 
    "language": "vue" "autoFix": true } ] 

在这里插入图片描述
function () (eslint 推荐)和 function() (prettier 推荐) 的风格冲突问题

该问题摘抄至文章:https://blog.csdn.net/userkang/article/details/

如果推崇 eslint 的规范,也就是 function () 这种的。那么恭喜你,你什么都不用改。

如果你和我一样推崇 prettier 的规范,也就是 function() 这种的。那么就需要改改了。

这样做有个好处是,如果你的项目不需要配置 eslint 来检查代码 ,代码就不需要格式化为 eslint 的规范。

 { 
    "language": "vue" // "autoFix": true } 

但是如果你的项目配置了 eslint ,比如用 vue-cli 构建的项目,一般都会进行 eslint 检查。那么就在项目根目录的 eslintrc.js 中添加下面的配置,这种情况就可以把 autoFix 的注释打开了。因为可以自动修复成 eslint 的规范。

// 自定义的规则 module.exports = { 
    rules: { 
    'space-before-function-paren': 0 } } 

vue中使用Eslint对element-UI自动格式化支持不好

这个配置相应出现的问题可以参考这篇文章: https://blog.csdn.net/_/article/details/

参考文章

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199317.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午1:22
下一篇 2026年3月26日 下午1:22


相关推荐

  • linux安装oracle数据库并创建数据库_oracledeveloper安装教程

    linux安装oracle数据库并创建数据库_oracledeveloper安装教程环境:redhatlinux5.7软件:oracle11g1、操作系统安装组建选择(具体安装linux过程参见linux安装步骤):GNOMEDesktopEnvironmentEditorsGraphicalInternetText-basedInternet(可以不选择)DevelopmentLibrariesDevelopmentToo

    2026年4月13日
    7
  • 什么叫分销商_分销是什么意思「详细介绍」带你秒懂[通俗易懂]

    什么叫分销商_分销是什么意思「详细介绍」带你秒懂[通俗易懂]很多创业者在创业的道路上可能都会遇到一个问题那就是分销,但是很多创业者却又不懂分销是什么意思。今天我们抖音创业网大家详细地介绍一下关于分析的意思,绝对让你看完以后秒懂。分销是什么意思解释其实简单来说分销就是我们帮助别人销售商品,但是我们销售出去以后我们可以得到一定的分成,同时在我们的利润允许的情况下我们还可以继续拉下线,让其他的人成为我们的销售员工。分销实际案例模拟假如现在有一个苹果,供货商说这…

    2022年5月16日
    59
  • 性能测试问产品 压力测试指标给多少?TPS、响应时间、并发量的要求是多少?这样计算

    性能测试问产品 压力测试指标给多少?TPS、响应时间、并发量的要求是多少?这样计算先说结论一般推荐 如果你 没啥人用的服务 tps20 返回有 300ms 就行了十万到百万级的服务 响应能达到 tps50 200ms 就可以了后台服务 能达到 tps20 200ms 即可 通常后台同时使用也没多少人 秒杀类的短时间高并发 TPS100 或 200 在 100ms 内响应应该也能撑一段时间 具体情况还是要看业务量 背景做项目开发的时候 不止一次被性能测试问 这个服务性能

    2026年3月26日
    2
  • php 常考 常见 面试题

    php 常考 常见 面试题又是跳槽季 跳槽就有面试 面试难免会问一些理论问题 前面面试了几家 做了一些面试题 记住了一部分 整理了一下 1 cookie 和 session 区别 session 存在服务器 cookie 存在浏览器 session 安全性比 cookie 高 session 为会话服务 在使用时需要开启服务 cookie 不需要开启 可以直接使用 2 redis 和 memcached 区别 redis 系统库有个快照

    2026年3月27日
    3
  • oracle sequence用法_oracle session

    oracle sequence用法_oracle session1.   AboutSequences(关于序列)序列是数据库对象一种。多个用户可以通过序列生成连续的数字以此来实现主键字段的自动、唯一增长,并且一个序列可为多列、多表同时使用。序列消除了串行化并且提高了应用程序一致性。(想象一下没有序列的日子怎么办?)2.   CreatingSequences(创建序列)前提:PrerequisitesTocreateasequ

    2022年10月19日
    4
  • 这份算法攻略,我拿到了5个大厂的offer

    这份算法攻略,我拿到了5个大厂的offer

    2020年11月20日
    183

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号