在vscode中vue编码风格统一的方法介绍

本篇文章主要介绍了在vscode中统一vue编码风格的方法,内容挺不错的,现在分享给大家,也给大家做个参考。

vetur 很多人知道,但在 vscode 下没办法格式化 .vue 里的 html, js 很是头疼,代码风格无法统一。

所以不少人直接拆分开,然后在 .vue 中引入,虽然方法很好,但这有违 .vue 单文件组件的初衷。

本文详细介绍 vscode 下使用 vetur + prettier + eslint 来统一 vue 编码风格。

vetur 插件

立即学习“前端免费学习笔记(深入)”;

vetur 经过多个版本迭代,算是目前 vscode 下最好用的 vue 插件了,甚至支持 ts, webpack alias 等特性。

但有几个功能不是直接支持,需要手动配置,而且有几个功能需要其他插件配置后才能配合他完成。

这就有点麻烦了,新手同学们往往就是死在这里。

1. 配置 eslint

prettier 覆盖 vscode 默认格式化快捷键,但没有针对 eslint 配置进行格式化,所以需要单独配置用户设置开启。

找到 首选项 -> 设置 菜单,在右侧 用户配置 中添加 “prettier.eslintIntegration”: true 开启 eslint 支持。

至此,可以对 js 文件采用 eslint 规范进行格式化了,但 .vue 文件还不行,因为他不认识这是个什么东西。

在 用户设置 中添加如下配置,以支持 .vue 文件。

"eslint.validate": [ "javascript", "javascriptreact", {  "language": "vue",  "autoFix": true }]

登录后复制

现在 eslint 认识 vue 了,但这只是 eslint 认识,prettier 依然不认识这是什么东西。

所以我们要加上 “eslint.autoFixOnSave”: true 配置,在保存文件时,自动fix里面的js代码。

2. 配置 prettier

虽然 eslint 可以处理 vue 文件了,但却跟 prettier 的格式化冲突,因为 prettier 不知道这是什么东西。

安装了 vetur 插件后,prettier 知道 .vue 原来是一个 html 格式文件的,但依然没办法很好的格式化。

PS:目前 vetur 不支持 prettier 的 eslint。

因为 html 包括了 html+script+style 3部分,prettier 只能采用默认的格式化规范去格式化,不支持eslint,而且默认也不格式化 html。

刚才开启的 “prettier.eslintIntegration”: true 只是针对 .js 文件的,而不是针对 .vue 文件。

所以当你格式化 .vue 文件时候,stript 部分可能会跟你的 eslint 风格不一致,你需要单独配置。

例如我的eslint 规范,字符串单引号,对象末尾项也有逗号。

// 强制单引号"prettier.singleQuote": true,// 尾随逗号"prettier.trailingComma": "all",

登录后复制

如果你是双引号,而且不加末尾逗号的,就不必配置了。

或者你觉得无伤大雅,也不用配置这个,反正保存时 eslint 自动fix了。

3. 配置 vetur 对 html 的格式化

因为 vetur 就是把 .vue 中的 html+script+style 3部分拆分,然后交给对应的语言处理器去处理。

例如:

html 可以是 html,也可以是 pug, jade 等。

script 可以是 es5, es6, ts, coffee。

style 可以是 css, less, sass, postcss 等。

除了 html 部分,其他都默认采用 prettier 格式化。

如果需要 html 的格式化,则需手动配置。

// 使用 js-beautify-html 插件格式化 html"vetur.format.defaultFormatter.html": "js-beautify-html",// 格式化插件的配置"vetur.format.defaultFormatterOptions": { "js-beautify-html": {  // 属性强制折行对齐  "wrap_attributes": "force-aligned", }}

登录后复制

完成收工

至此,配置完成,完整配置如下:

{ // 强制单引号 "prettier.singleQuote": true, // 尽可能控制尾随逗号的打印 "prettier.trailingComma": "all", // 开启 eslint 支持 "prettier.eslintIntegration": true, // 保存时自动fix "eslint.autoFixOnSave": true, // 添加 vue 支持 "eslint.validate": [  "javascript",  "javascriptreact",  {   "language": "vue",   "autoFix": true  } ], // 使用插件格式化 html "vetur.format.defaultFormatter.html": "js-beautify-html", // 格式化插件的配置 "vetur.format.defaultFormatterOptions": {  "js-beautify-html": {   // 属性强制折行对齐   "wrap_attributes": "force-aligned",  } }}

登录后复制

现在你可以在 .vue 中格式化 html+js+css 了。

但 js 部分格式化不是根据 eslint 格式化的,上面有解释。

js 部分只能采用 prettier 默认格式,然后保存的时候自动 fix,来达到 prettier+eslint 的效果。

如果需要详细配置,可以访问 vetur 官方文档 https://vuejs.github.io/vetur

小结

主要解决了 prettier 不格式化 .vue 内的 js 问题,以及 prettier 格式化时跟 eslint 自动 fix 风格冲突问题。

当然,prettier格式化 和 eslint的fix 有本质区别,但 prettier + 自动fix,就完美了。

对于 .js 来说,prettier 开启 eslint 支持,直接完美。

但 .vue 只能这样配置了,因为目前 vetur 也没支持,官网只给了这个解决方案。

或许之后就支持了呢。

其他插件推荐

Auto Close Tag

Auto Rename Tag

Bracket Pair Colorizer

Code Runner

Document This

EditorConfig

ESLint

gitignore

GitLens

Guides

Import Cost

npm intellisense

Path Autocomplete

Prettier

Settings Sync

TODO Highlight

Vetur

vscode-icons

我就不一一解释了。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

Vue.js结合Ueditor富文本编辑器的使用方法

Vue.js结合Ueditor富文本编辑器的使用方法

Vue.js结合Ueditor富文本编辑器的使用方法

以上就是在vscode中vue编码风格统一的方法介绍的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2748266.html

(0)
上一篇 2025年3月8日 04:43:51
下一篇 2025年3月8日 04:43:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 谈谈Node.js热更新的配置和vscode断点调试

    本篇文章给大家介绍一下node.js的热更新配置和vscode断点调试。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 前言 我从今年5月份开始使用express 框架开发。现在项目一期结束,趁这个空闲期,我重新梳理一下n…

    2025年3月7日 编程技术
    200
  • 聊聊vscode中debugger的使用技巧

    学习 nodejs 最重要的是什么?可能每个人都有自己的答案。 我觉得学习 nodejs 除了要掌握基础的 api、常用的一些包外,最重要的能力是学会使用 debugger。因为当流程复杂的时候,断点调试能够帮你更好的理清逻辑,有 bug …

    2025年3月7日 编程技术
    200
  • JavaScript – ray 有氧运动第 2 天

    大家好,欢迎回到 wes bos 的 javascript30 的另一天!好吧……距离我上次发帖已经过去两周多了,这真是令人难过。 话虽这么说,我确实在目前的工作中发出了通知,他们一直在让我陷入困境,所以我最近没有那么多时间来写代码……但现…

    2025年3月7日
    200
  • 高级状态管理 – XState

    在这里,我们将使用和讨论xstate,它是前端和后端应用程序的 javascript 和 typescript 应用程序的状态管理和编排解决方案。 对于大型应用程序来说,正确管理全局状态至关重要,有多种方法可以做到这一点,例如使用 reac…

    2025年3月7日
    200
  • 调试 Nodejs 应用程序:提示和技巧

    作为一名 node.js 开发人员,您可能在追踪应用程序中难以捉摸的错误时遇到过挫折。调试是一项基本技能,可以节省您数小时的时间,并帮助您编写更健壮的代码。在这篇文章中,我们将探索一些用于调试 node.js 应用程序的强大技术和工具。 1…

    2025年3月7日
    200
  • 全面且用户友好的项目 READMEmd 模板

    一、项目概况 【简介】 1.1 项目背景 本项目旨在通过利用[技术解决方案]设计和开发[产品概述]来解决[需求描述]的问题。 1.2 项目目标 本项目的目标是通过【实施方法】向【目标客户/用户群】提供最好的【产品/服务/解决方案】来实现【项…

    2025年3月7日
    200
  • Node.js 生态系统安装及使用教程

    Node.js 安装与使用教程:前往官网下载安装包并安装 Node.js。使用 NPM 包管理器安装、更新和卸载 Node.js 包。初始化新项目并创建 package.json 文件。安装项目依赖项(外部库或模块)。创建 JavaScri…

    2025年3月7日
    200
  • 2024年Node.js 生态系统环境配置

    为迎接 2024 年 Node.js 生态系统的挑战,准备你的开发环境至关重要。步骤包括:更新 Node.js 版本和安装 npm;设置版本控制系统 Git;优化文本编辑器;使用构建工具;启用调试工具;考虑使用 IDE;建立部署基础设施;设…

    2025年3月7日
    200
  • node.js 开发工具

    Node.js 开发工具涵盖以下类别:版本管理工具:nvm 和 n包管理工具:npm 和 yarn调试工具:Node.js Debugger 和 VSCode Node.js 扩展代码编辑器:Visual Studio Code 和 Web…

    2025年3月7日
    200
  • Astro + Nx + Paraglide – 创建 i 模块

    正如我在另一篇文章中所说,我正在学习 astro.build。 我不喜欢与 astro 和 paraglide 集成的一件事是将所有内容保留在 /src 文件夹中。 如果您有一个庞大的代码库,将来管理和保持代码整洁可能会成为问题。好吧,我知…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论