VsCode 搭配 Prettier、Eslint使用

文章前言

永远把别人对你的批评记在心里,别人的表扬,就把它忘了。Hello 大家好~!我是南宫墨言QAQ

本文主要是记录在VS Code开发过程中一些关于规划化工具的使用,特地记录下与诸位分享,文中如果有阐述的不对的地方,希望大家在评论区指出讨论,谢谢

观看到文章最后的话,如果觉得不错,可以点个关注或者点个赞哦!感谢~❤️

文章主体

感谢各位观者的耐心观看,规范化工具k使用正片即将开始,且听南宫墨言QAQ娓娓道来

俗话说:工欲善其事,必先利其器。把开发工具弄好,对我们开发来说能达到事半功倍,也规避了很多错误等

本文阐述的内容基本上都是在项目的基础上配置的,这样子即使别人拉了你的代码,或者你在另外一台电脑,这些配置依然有效,但是弊端就是你可以新建项目的时候需要将这些配置重新引入。万事都有利弊,看你们自己的取舍了,哈哈

配置信息汇总

我喜欢把我弄成的时候的有关配置啥的先贴上来,有的人可能不想听我废话,想先来配置试一下效果,哈哈

  • package.json 中 devDependencies 里关于插件的版本
json 复制代码
"eslint": "^8.19.0",
"eslint-plugin-prettier": "5.0.0",
"prettier": "3.0.0",
  • settings.json(这个是指项目.vscode/settings.json)
json 复制代码
{
  // 编辑器设置
  /* 配置 Tab 空格数 */
  "editor.tabSize": 2,
  /* 字体大小 */
  "editor.fontSize": 16,
  /* 文字行高 */
  "editor.lineHeight": 0,
  // "editor.defaultFormatter": "esbenp.prettier-vscode",

  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  // window
  /* 调整窗口的缩放级别 */
  "window.zoomLevel": 0,

  // 工作区编辑设置
  /* 标签格式 short:显示文件名及其目录名*/
  "workbench.editor.labelFormat": "short",
  /* 是否显示为预览编辑器 */
  "workbench.editor.enablePreview": false,
  /* 工作台中使用的颜色主题 */
  "workbench.colorTheme": "Atom One Dark",

  // 终端设置
  /* 字体大小 */
  "terminal.integrated.fontSize": 15,

  // git设置
  /* 自动获取 */
  "git.autofetch": true,
  /* 同步 Git 存储库之前确认 */
  "git.confirmSync": false,
  /* 当没有staged段更改时,提交所有更改 */
  "git.enableSmartCommit": true,
  

  // typescript设置
  // "[typescript]": {
  //   /* 优先使用*/
  //   "editor.defaultFormatter": "esbenp.prettier-vscode"
  // },
  /* 函数名称后面加空格*/
  "typescript.format.insertSpaceBeforeFunctionParenthesis": true,
  "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,

  // javascript设置
  // "[javascript]": {
  //   "editor.defaultFormatter": "esbenp.prettier-vscode"
  // },
  /* 函数名称后面加空格*/
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,

  // json设置
  // "[json]": {
  //   "editor.defaultFormatter": "esbenp.prettier-vscode"
  // },

  // other
  /* 设置文件图标 */
  "workbench.iconTheme": "material-icon-theme",
}
  • .prettierrc.js
php 复制代码
module.exports = {
  /** 一行最多 120 字符 */
  printWidth: 120,
  /** 使用 2 个空格缩进 */
  tabWidth: 2,
  /** 不使用 tab 缩进,而使用空格 */
  useTabs: false,
  /** 行尾需要有分号 */
  semi: true,
  /** 使用单引号代替双引号 */
  singleQuote: true,
  /** 对象的 key 仅在必要时用引号 */
  quoteProps: 'as-needed',
  /** jsx 不使用单引号,而使用双引号 */
  jsxSingleQuote: false,
  /** 末尾使用逗号 */
  trailingComma: 'all',
  /** 大括号内的首尾需要空格 { foo: bar } */
  bracketSpacing: true,
  /** 箭头函数,只有一个参数的时候,也需要括号 */
  arrowParens: 'always',
  /** 每个文件格式化的范围是文件的全部内容 */
  rangeStart: 0,
  rangeEnd: Infinity,
  /** 不需要写文件开头的 @prettier */
  requirePragma: false,
  /** 不需要自动在文件开头插入 @prettier */
  insertPragma: false,
  /** 使用默认的折行标准 */
  proseWrap: 'preserve',
  /** 根据显示样式决定 html 要不要折行 */
  htmlWhitespaceSensitivity: 'css',
  /** 换行符使用 lf */
  endOfLine: 'lf',
};
  • .eslintrc.js
java 复制代码
module.exports = {
  root: true,
  plugins: ['prettier'], // prettier 一定要是最后一个,才能确保覆盖
  rules: {
    'prettier/prettier': 'error',
  },
  extends: ['@react-native', 'plugin:prettier/recommended'],
};

贴完配置信息,后面将要说下插件的使用了

Prettier

  • 问题

    每位开发者对代码书写风格的理解或多或少有所差异,有的人认为需要在末尾加分号,有的人认为基于JS引擎的识别能力根本没有必要加分好。这只是其中一个例子,实际开发中还会存在各种各样代码风格问题,为了停止这场争论,急需一个统一代码风格的工具

  • 是什么

    Prettier 是一个固执己见的代码格式化程序,是一种严格规范的代码风格工具,主张尽量降低可配置性,严格规定组织代码的方式。它的出现就是为了统一代码风格,停止这场无休止的争论

    Prettier 通过语法分析将代码解析为 AST 树,在 AST 树上应用代码风格规范重新生成代码

    Prettier 根据文件路径自动推断解析器(.js 文件使用 babel 解析器、.css 文件使用 css 解析器),对代码进行解析。对不同类型文件的识别和解析受限于 Prettier 的内部支持,因此 Prettier 并非覆盖所有类型的文件,如下图所示,支持前端主流开发语言,足够应对日常开发。

  • U

    首先我要先安装插件 Prettier - Code formatter

其次打开项目根目录下的 .prettierrc.js(没有的话就新建), 并在文件内填充以下内容

php 复制代码
module.exports = {
  /** 一行最多 120 字符 */
  printWidth: 120,
  /** 使用 2 个空格缩进 */
  tabWidth: 2,
  /** 不使用 tab 缩进,而使用空格 */
  useTabs: false,
  /** 行尾需要有分号 */
  semi: true,
  /** 使用单引号代替双引号 */
  singleQuote: true,
  /** 对象的 key 仅在必要时用引号 */
  quoteProps: 'as-needed',
  /** jsx 不使用单引号,而使用双引号 */
  jsxSingleQuote: false,
  /** 末尾使用逗号 */
  trailingComma: 'all',
  /** 大括号内的首尾需要空格 { foo: bar } */
  bracketSpacing: true,
  /** 箭头函数,只有一个参数的时候,也需要括号 */
  arrowParens: 'always',
  /** 每个文件格式化的范围是文件的全部内容 */
  rangeStart: 0,
  rangeEnd: Infinity,
  /** 不需要写文件开头的 @prettier */
  requirePragma: false,
  /** 不需要自动在文件开头插入 @prettier */
  insertPragma: false,
  /** 使用默认的折行标准 */
  proseWrap: 'preserve',
  /** 根据显示样式决定 html 要不要折行 */
  htmlWhitespaceSensitivity: 'css',
  /** 换行符使用 lf */
  endOfLine: 'lf',
};

这里暂时不补充具体使用的贴图,等说完 Eslint 后贴上两者结合使用的贴图

Eslint

  • 问题

JavaScript本身是一门动态弱类型语言,原始状态下没有语法检查工具支持,开发者只能在运行代码时发现错误,不断"试错",无休止的。。。。,那么就需要一个工具来改善这种情况,这个时候 Eslint 就来了

  • 是什么

Prettier 专注于统一代码样式,而 ESLint 专注于找到代码存在的问题避免错误。

Eslint可以找出可能发生的语法错误(使用未声明变量、修改 const 变量......)、提示你删除多余的代码(声明而未使用的变量、重复的 case ......)等问题

这里暂时不补充具体使用的贴图,等说完 Eslint 后贴上两者结合使用的贴图

Eslint 结合 Prettier 使用

新建一个test.js文件,在里面声明一个变量a

这里会提醒我们需要使用单引号替换双引号

在我们按下保存的时候

这里我们会看到双引号被替换成单引号,并其末尾加上了分号,但是此时提醒我们a变量并未使用

接着我们打印一下a

这里我们看到提醒a变量并未使用的信息没有了,但是出现提醒我们{}里前后需要加上空格

此时我们据悉按下保存的时候

我们发现代码被格式化了,错误提醒也没有了

上面只是简单演示一个例子,对于未演示的其他配置同样可以生效,你可以自己动手试试看,这里就不再一一演示了

忽略文件

当然可能并不是所有文件你都想通过eslint、prettier来格式化,这个时候我们就可以在根目录下新建 .eslintignore 和 .prettierignore, 可以参考 .gitignore 进行配置

结尾营业

看官都看到这了,如果觉得不错,可不可以不吝啬你的小手手帮忙点个关注或者点个赞

相关推荐
Cyltcc1 天前
如何安装和使用 Claude Code 教程 - Windows 用户篇
人工智能·claude·visual studio code
UrbanJazzerati2 天前
使用 Thunder Client 调用 Salesforce API 的完整指南
面试·visual studio code
清沫5 天前
键盘效率提升指南(VSCode+Vim+SurfingKeys)
前端·vim·visual studio code
OLong6 天前
2025年最强React插件,支持大量快捷操作
前端·react.js·visual studio code
一眼万年046 天前
每天都在使用的VS Code Copilot Chat 开源啦!
aigc·ai编程·visual studio code
pe7er16 天前
vscode插件Hybrid Mode混合模式不兼容导致vue3项目在vscode爆红、类型推导失效的解决方案
vue.js·visual studio code
是紫焅呢18 天前
I排序算法.go
开发语言·后端·算法·golang·排序算法·学习方法·visual studio code
是紫焅呢19 天前
E结构体基础.go
开发语言·后端·golang·学习方法·visual studio code
是紫焅呢20 天前
F接口基础.go
开发语言·后端·青少年编程·golang·visual studio code
攀登的牵牛花20 天前
🚀【效率利器】Spine动画瘦身秘籍:一键批量PNG To WebP,Atlas自动更新!
前端·visual studio code