前端工程化工具系列(六)—— VS Code(v1.89.1):强大的代码编辑器

VS Code(Visual Studio Code)是一款由微软开发的强大且轻量级的代码编辑器,支持多种编程语言,并提供了丰富的扩展插件生态系统。

这里主要介绍如何使用配置 ESLint、Stylelint 等插件来提升开发效率。

1 自动格式化代码

最终要达到的效果是:在对文件保存时自动格式化 Vue、JS/TS、CSS/SCSS 等文件中的代码。
很多文章都提出使用 prettier 来做代码格式化,但在使用过程中发现它有一些局限性。比如:从一个模块中导入多个接口时,用 prettier 格式化时后会一个接口放一行,相当难看(如下图),而且还没法被 ESLint 修复。
在这里插入图片描述
这个问题于 2019 年 3 月就在 github 的 issues 中被提出,5 年过去了仍没有解决,遂放弃 prettier 插件,寻找别的解决方案。后来发现 VS Code 自带的格式化工具就挺好,再与 EditorConfig 及其他插件一结合就挺完美的。

在 VS Code 中安装 ESLint、Stylelint、 Vue - Official 插件。
在项目根目录下创建 .editorconfig 文件,填入以下内容:

# top-most EditorConfig file
root = true

# All Files
[*]
charset = utf-8                  # Set default charset
indent_style = space             # 2 space indentation
indent_size = 2
end_of_line = lf                 # Unix-style
insert_final_newline = true      # newlines with a newline ending every file
trim_trailing_whitespace = true  # remove any whitespace characters preceding newline characters
max_line_length = 200            # Forces hard line wrapping after the amount of characters specified

# Markdown Files
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

在 VS Code 中打开通过快捷键 Crtl + Shift + P ,输入settings.json 打开 settings.json文件。
在这里插入图片描述
在 settings.json 中加入以下内容:

{
  // 保存时自动格式化
  "editor.formatOnSave": true,
  // 保存时自动修复错误
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit"
  },
  // 开启对 .vue 等文件的检查修复
  "eslint.validate": [
    "javascript",
    "typescript",
    "javascriptreact",
    "typescriptreact",
    "html",
    "vue",
    "markdown"
  ],
  // 开启对样式文件的检查修复
  "stylelint.validate": [
    "css",
    "less",
    "scss",
    "postcss",
    "vue",
    "html"
  ],
  // 默认使用vscode的css格式化
  "[css]": {
    "editor.defaultFormatter": "vscode.css-language-features"
  },
  "[scss]": {
    "editor.defaultFormatter": "vscode.css-language-features"
  },
  "[typescript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features"
  },
  "[vue]": {
    "editor.defaultFormatter": "Vue.volar"
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675620.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sqli-labs 靶场闯关基础准备、学习步骤、SQL注入类型,常用基本函数、获取数据库元数据

Sqli-labs的主要作用是帮助用户学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。 它提供了多个不同的漏洞场景,每个场景都代表了一个特定类型的SQL注入漏洞。 用户可以通过攻击这些场景来学习和实践漏洞利用技术,以及…

MDK Keil5调试STM32F407时,Debug后直接运行。原因未找到

前段时间调试STM32F407ZGT6最小系统板,遇到一个情况: 没有问题的简单程序(出现问题之前跑过,烧录在其他板子上也运行正常),在调试的时候,点击Debug按钮后,就直接运行,如下图: 上图&…

【Linux】初识信号及信号的产生

初始信号 初始信号什么是信号站在应用角度的信号查看Linux系统定义的信号列表 信号的常见处理方式信号的产生通过终端按键产生信号什么是core dump?如何开启core dump?core dump有什么用?为什么默认关闭core dump?设置了core文件大小但是没有产生core文…

贪心,CF802B. Heidi and Library

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 802A - Codeforces 二、解题报告 1、思路分析 这个题相当于你有一个容量为K的Cache,然后给你一系列访存序列 当访问缺失时你不得不替换掉Cache中某些块 学过操作系统都很熟悉页面置…

The Isle恐龙岛服务器开服联机教程

服务端区别:The lsle 是测试服 ;The lsle Evrima 是正式服(运行内存需要上到12G才可以运行) 1、购买后登录服务器 进入控制面板后会出现正在安装的界面,安装大约5分钟(如长时间处于安装中请联系我们的客服人…

LeetCode216组合总和3

题目描述 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9。每个数字 最多使用一次。返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 解析 递归加剪枝,搜索长度达…

基于 Amazon EC2 快速部署 Stable Diffusion WebUI + chilloutmax 模型

自2023年以来,AI绘图已经从兴趣娱乐逐渐步入实际应用,在众多的模型中,作为闪耀的一颗明星,Stable diffusion已经成为当前最多人使用且效果最好的开源AI绘图软件之一。Stable Diffusion Web UI 是由AUTOMATIC1111 开发的基于 Stabl…

【数字孪生平台】光幻示例解析

本文在线示例查看。更多精彩内容尽在数字孪生平台,关注公众号:sky的数孪技术,技术交流、源码下载请添加VX:digital_twin123 地形构建 我们目的要搭建一个中间平坦、两侧有凹凸山脉效果并且能够一直绵延不断的地形,接下来我们通过三个问题来进行分析。 采用什么样的几何图…

Vue——模板引用(不建议使用,了解)

文章目录 前言测试案例 前言 模板引用,在官方文档中也有很详细的描述。 虽然 Vue 的声明性渲染模型为你抽象了大部分对 DOM 的直接操作,但在某些情况下,我们仍然需要直接访问底层 DOM 元素。 个人理解为: 在vue中,依据…

Scrum团队在迭代中如何处理计划外的工作

认为 Scrum 团队不做计划其实是一个误区,实际上很多 Scrum 团队在冲刺计划会议以及在细化工作项时均会进行详细规划。此外,他们还会创建一个路线图,以便显示他们在多个冲刺中的计划。 Scrum 团队需要经常进行计划,以便在不断变化…

本地 Java API 访问云上 HDFS 集群的问题与解决

前言 这篇文章默认是已经在云上配置好了 Haoop 集群,因此本文主要是记录一些可能会出现错误的地方。 如果还不会配置 Hadoop 集群,那么可以参考本专栏的另一篇文章:云上配置 Hadoop 集群详解 另外在进行本文的学习之前也建议先看看该文章&…

创意设计新伙伴:StartAI PSAI插件,让设计工作更轻松!

在设计的世界里,灵感与效率是设计师的双翼。但有时候,面对复杂的设计任务和紧迫的截止日期,即使是最富有经验的设计师也会感到力不从心。StartAI,一款革命性的PS AI设计插件。 StartAI:设计工作的加速器 StartAI是一款…

超分辨重建——SRGAN网络训练自己数据集与推理测试(详细图文教程)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…

Linux——简单指令汇总

Linux,一般指GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个…

笔记-python操作kafka实践

1、先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码。 #!/usr/bin/env python # -*- coding: utf-8 -*- import json from kafka import KafkaProducerproducer KafkaProducer(bootstrap_serversxxxx:x)msg_dict …

浅测 长亭雷池 WAF “动态防护”

本文首发于 Anyeの小站 前言 雷池 WAF 社区版的更新速度是真快啊,几乎一周一个小版本,俩月一个大版本,攻城狮们真的狠啊,没法测了。 废话不多说,前两天看到了 这篇文章,对雷池的“动态防护”功能挺感兴趣…

二人订单共享模式:新零售电商盈利新秘诀

电商江湖日新月异,竞争如火如荼,如何脱颖而出,赢得消费者?二人订单共享模式,这是一种全新的商业模式,旨在打造爆款产品,迅速吸引大量客源,并激发消费者重复购买欲望。 首先&#xf…

期权懂带你懂50etf认沽期权和认购期权有什么区别?

今天带你了解期权懂带你懂50etf认沽期权和认购期权有什么区别?在金融市场中,期权是一种允许持有者在未来某个时间以特定价格买入或卖出基础资产的金融衍生品。 50etf认沽期权和认购期权有什么区别? 50ETF认沽期权和认购期权的主要区别在于它…

从报名到领证:软考高级【网络规划设计师】报名考试全攻略

本文共计10551字,预计阅读35分钟。包括七个篇章:报名、准考证打印、备考、考试、成绩查询、证书领取及常见问题。 不想看全文的可以点击目录,找到自己想看的篇章进行阅读。 一、报名篇 报名条件要求: 1.凡遵守中华人民共和国宪…

淘宝电商接口获取商品数据,该怎么获取?

淘宝电商接口(也称为淘宝开放平台API)允许开发者通过编程方式获取淘宝平台上的商品数据、订单数据等。然而,直接获取淘宝的商品数据并不是一件简单的事情,因为淘宝对API的使用有一定的限制和要求,包括权限申请、接口调…