关于vscode中settings.json中的设置

关于vscode中settings.json中的设置

为什么会需要有这个文章,因为在整合eslint和prettier出现settings.json文件,究竟哪个配置对应哪个插件?

vscode版本1.93.1

settings.json

json 复制代码
{
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.fixAll.eslint": "explicit"
  },
}

这段 JSONC 配置应用于 VSCode 编辑器,其执行流程如下:

保存文件时:

当用户保存一个文件时,触发后续配置项的检查和应用。

如果文件中有格式化问题,由于 "editor.formatOnSave": true,编辑器会自动进行代码格式化。

要确定 editor.formatOnSave 使用的是哪个格式化工具,可以通过以下几种方式来确认:

1. 查看全局设置:

在 VSCode 中,打开设置 (File > Preferences > Settings 或者使用快捷键 Ctrl + ,)。

查找 Editor: Format On Save 相关的设置,特别是 editor.defaultFormatter 和 editor.formatOnSaveProvider。

2.查看工作区或项目级别的设置:

在项目的 .vscode/settings.json 文件中,查看是否有特定的格式化工具配置。

常见的配置项包括:

editor.defaultFormatter: 指定默认的格式化工具。

具体格式化工具的扩展 ID,例如 esbenp.prettier-vscode 或 dbaeumer.vscode-eslint。

3.安装的扩展:

查看已安装的扩展列表 (Extensions 侧边栏),找到与格式化相关的扩展。

常用的格式化工具扩展有:

Prettier (esbenp.prettier-vscode)

ESLint (dbaeumer.vscode-eslint)

TSLint (ms-vscode.vscode-typescript-tslint-plugin)

TypeScript Formatter (vscode.typescript-language-features)

检查扩展设置:

如果安装了多个格式化工具,可以查看每个扩展的具体设置,例如:

JSON 复制代码
{
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}

这将指定默认的格式化工具为 Prettier。

示例配置

假设你安装了 Prettier 和 ESLint,并希望使用 Prettier 进行格式化,可以在 .vscode/settings.json 中添加以下配置:

JSON 复制代码
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}

这样,VSCode 在保存文件时就会使用 Prettier 进行格式化。

执行代码操作:

检查是否有可以被自动修复的问题。
source.fixAll: "explicit" 这个配置项表示在保存文件时,显式地修复所有可以自动修复的问题。这些问题是通过各种 linting 工具检测到的,不限于 ESLint。
source.fixAll.eslint: "explicit" 这个配置项特别指定使用 ESLint 来修复所有可以自动修复的问题。这意味着只针对 ESLint 报告的问题进行修复。

因此,这两个配置项的作用范围不同:

  • source.fixAll 适用于所有 linting 工具。
  • source.fixAll.eslint 仅适用于 ESLint。
    通常情况下,source.fixAll.eslint 是 source.fixAll 的子集,但为了确保 ESLint 的问题得到特别处理,两者可以同时配置。

总结:

在保存文件时,先自动格式化代码,然后使用 ESLint 和其他 linter 工具尝试自动修复所有能修复的代码问题。

相关推荐
Wang's Blog9 小时前
Java框架快速入门: Spring Security+OAuth2之自定义认证过滤器实现JSON登录
java·spring·json
淼澄研学10 小时前
Win11 Dev Home与WinGet实操:基于JSON的声明式环境配置指南
json
WeiXin_DZbishe16 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
可乐鸡翅yeah_19 小时前
开发调试高频痛点解决,一站式在线加密解密与编码转换实战
json·加密解密·json在线转换
冰水不凉19 小时前
CodeX 在 Ubuntu 下 vscode 插件的 bug 问题
vscode·ubuntu·bug
小疯仔1 天前
轨迹在地图上“漂“了 500 米?一文吃透 WGS-84→GCJ-02 坐标转换引擎(GPX→JSON 实战源码剖析)
小程序·json·notepad++
JMchen1231 天前
Cursor高阶玩法:.cursorrules编写与Spec-Driven开发实战,把AI调教成专属结对编程搭档
人工智能·vscode·kotlin·cursor·结对编程·spec-driven·.cursorrules
Flynt1 天前
"只输出 JSON"根本不够:LLM 结构化输出的坑,我实测了 60 次调用
llm·json
2501_915106322 天前
Swift 4开发环境设置教程:xCode安装与Playground入门
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
一支黑色の铅笔2 天前
VSCode 克隆Git项目
ide·git·vscode