一个vsCode格式化插件

boyanx4个月前技术教程17

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等

背景

近来研究前端,然后一直在百度上找VScode格式化(ESlint)的插件,结果找了半天都不靠谱。目前没有一个可以格式化html、css、符合ESlint的js、vue的插件,所以自己东拼西凑加实践找到解决方法。

一、安装插件


1)ESlint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~
2)
vetur:可以格式化html、标准css(有分号 、大括号的那种)、标准js(有分号 、双引号的那种)、vue文件,
但是!格式化的标准js文件不符合ESlint规范,会给你加上双引号、分号等,像这样

3)Prettier - Code formatter:只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown
4)
Manta's Stylus Supremacy: 格式化stylus的插件(不用就不装),因为vetur会把css格式化有分号 、大括号的那种,此插件会把css格式化成stylus风格,像这样

二、配置settings.json信息

File->Preference->Settings【也可以快捷键 ctr + ,(window系统) 直接打开】

现在看到的是界面配置模式,点击右上角的大括号(如下图),可以打开 settings.json 文件。

粘贴以下代码,保存即可

把代码贡献一下:

{
    // vscode默认启用了根据文件类型自动设置tabsize的选项
    "editor.detectIndentation": false,
    // 重新设定tabsize
    "editor.tabSize": 4,
    // #值设置为true时,每次保存的时候自动格式化;值设置为false时,代码格式化请按shift+alt+F
    "editor.formatOnSave": false,
    // #每次保存的时候将代码按eslint格式进行修复
    "eslint.autoFixOnSave": true,
    // 添加 vue 支持
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        {
            "language": "vue",
            "autoFix": true
        }
    ],
    //  #让prettier使用eslint的代码格式进行校验
    "prettier.eslintIntegration": true,
    //  #去掉代码结尾的分号
    "prettier.semi": false,
    //  #使用带引号替代双引号
    "prettier.singleQuote": true,
    "prettier.tabWidth": 4,
    //  #让函数(名)和后面的括号之间加个空格
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
    // #这个按用户自身习惯选择
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    // #让vue中的js按"prettier"格式进行格式化
    "vetur.format.defaultFormatter.js": "prettier",
    "vetur.format.defaultFormatterOptions": {
        "js-beautify-html": {
            // #vue组件中html代码格式化样式
            "wrap_attributes": "force-aligned", //也可以设置为“auto”,效果会不一样
            "wrap_line_length": 200,
            "end_with_newline": false,
            "semi": false,
            "singleQuote": true
        },
        "prettier": {
            "semi": false,
            "singleQuote": true
        }
    },
    "[jsonc]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    // 格式化stylus, 需安装Manta's Stylus Supremacy插件
    "stylusSupremacy.insertColons": false, // 是否插入冒号
    "stylusSupremacy.insertSemicolons": false, // 是否插入分号
    "stylusSupremacy.insertBraces": false, // 是否插入大括号
    "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
    "stylusSupremacy.insertNewLineAroundBlocks": false,
    "prettier.useTabs": true,
    "files.autoSave": "off",
    "explorer.confirmDelete": false,
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "diffEditor.ignoreTrimWhitespace": false // 两个选择器中是否换行
}

从此直接 Ctrl+S 就能一键格式化了。

相关文章

「098」在线Cron表达式生成器-在线生成Cron,格式化Xml

Cron表达式常被用于定义程序自动执行任务的定时,以5或6个空格隔开,分为6或7个域。软件开发或运维人员会经常接触Cron表达式,今天分享一个在线生成Cron表达式的工具,还提供一些语言的格式化服务。...

网络安全周|关于网络安全,这些要知道

在无网络不生活的今天人们越来越离不开网络网络安全也成为大家关注的热点网络安全与我们息息相关跟着浐灞君,每天一个短视频网络安全小常识学起来~如何设置密码更安全怎么样关于密码安全你学会了吗?不要死守一个密...

HTML5 零基础完全教程-2-HTML5 基础标签

2. HTML5 基础标签学习目标掌握HTML5常用的文本格式化标签理解语义化容器标签的使用学会使用注释标签熟悉常用的HTML字符实体文本格式化标签HTML5提供了多种标签来格式化文本,使其在页面上以...

你要的CSS布局都在这里

大家好,我是三木。这篇文章,替大家汇总了css的布局方式,在每个布局的结尾附上了我认为比较好的文章链接,不仅仅可以当作学习资料,也可以当作方法的查询手册,以后开发的时候忘记了某个属性就来查查。看完推荐...

Python爬虫基础教学(写给入门的新手)

私信我,回复:学习,获取免费学习资源包。环境安装python3.7.1pip install requestspip install beautifulsoup4pip install lxml技术讲...

零基础学习HTML图像热区特殊字符无序列表和有序定义列表表格

在上一遍《零基础学习HTML换行符段落标题水平线文本格式化字体链接锚点》文章中已经介绍了HTML入门的上篇,现在继续来学习相关知识。一、图像  属性说明src 定义图像的地址alt 定义图像的替代文本...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。