vscode和cursor中引入prettierrc进行格式化
·
一、安装cdoe formatter扩展

二、安装依赖
npm install --save-dev prettier
三、配置文件
1、.vscode中配置settings.json文件
{
// ==================== 自动格式化配置 ====================
// 保存文件时自动格式化代码
"editor.formatOnSave": true,
// 粘贴代码时自动格式化
"editor.formatOnPaste": true,
// 输入代码时实时格式化(如输入分号、括号等触发格式化)
"editor.formatOnType": true,
// ==================== 默认格式化工具设置 ====================
// 设置全局默认格式化工具为Prettier
"editor.defaultFormatter": "esbenp.prettier-vscode",
// ==================== 针对不同文件类型的格式化配置 ====================
// JavaScript文件格式化配置
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化JS文件
"editor.formatOnSave": true // JS文件保存时自动格式化
},
// TypeScript文件格式化配置
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化TS文件
"editor.formatOnSave": true // TS文件保存时自动格式化
},
// Vue单文件组件格式化配置
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化Vue文件
"editor.formatOnSave": true // Vue文件保存时自动格式化
},
// JSON文件格式化配置
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化JSON文件
"editor.formatOnSave": true // JSON文件保存时自动格式化
},
// 带注释的JSON文件格式化配置(如VS Code配置文件)
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化JSONC文件
"editor.formatOnSave": true // JSONC文件保存时自动格式化
},
// HTML文件格式化配置
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化HTML文件
"editor.formatOnSave": true // HTML文件保存时自动格式化
},
// CSS文件格式化配置
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化CSS文件
"editor.formatOnSave": true // CSS文件保存时自动格式化
},
// SCSS文件格式化配置
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化SCSS文件
"editor.formatOnSave": true // SCSS文件保存时自动格式化
},
// Markdown文件格式化配置
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", // 使用Prettier格式化Markdown文件
"editor.formatOnSave": true // Markdown文件保存时自动格式化
},
// ==================== 自动保存配置 ====================
// 自动保存模式:延迟保存(在停止输入一段时间后自动保存)
"files.autoSave": "afterDelay",
// 自动保存延迟时间:1000毫秒(1秒)后自动保存
"files.autoSaveDelay": 1000,
// ==================== 代码提示和智能感知配置 ====================
// 智能建议配置
"editor.quickSuggestions": {
"other": true, // 在其他情况下显示建议(如变量名、函数名等)
"comments": false, // 在注释中不显示建议
"strings": true // 在字符串中显示建议(如路径提示)
},
// ==================== 括号配对和缩进配置 ====================
// 启用括号对颜色化(不同层级的括号显示不同颜色)
"editor.bracketPairColorization.enabled": true,
// 显示活跃的括号对指导线
"editor.guides.bracketPairs": "active",
// 自动缩进模式:完全自动缩进(根据语法和上下文智能缩进)
"editor.autoIndent": "full",
// ==================== Vue特殊配置(兼容旧版Vetur扩展) ====================
// Vetur扩展的HTML格式化工具设置为Prettier
"vetur.format.defaultFormatter.html": "prettier",
// Vetur扩展的JavaScript格式化工具设置为Prettier
"vetur.format.defaultFormatter.js": "prettier",
// Vetur扩展的TypeScript格式化工具设置为Prettier
"vetur.format.defaultFormatter.ts": "prettier",
// ==================== 保存时自动修复配置 ====================
// 保存文件时自动执行的代码修复操作
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit", // 自动修复所有ESLint错误(需要安装ESLint扩展)
"source.fixAll": "explicit" // 自动修复所有可修复的问题
},
// ==================== 文件关联配置 ====================
// 文件扩展名与语言的关联设置
"files.associations": {
"*.vue": "vue" // 将.vue文件关联为Vue语言模式
},
// ==================== Prettier扩展专用配置 ====================
// Prettier忽略文件的路径(指定哪些文件不进行格式化)
"prettier.ignorePath": ".prettierignore",
// 要求必须有Prettier配置文件才进行格式化(确保团队统一)
"prettier.requireConfig": true,
// ==================== Prettier格式化规则配置 ====================
// 注意:这些配置会覆盖.prettierrc文件中的设置
// 每行最大字符数:120字符(超过则换行)
"prettier.printWidth": 180,
// 缩进宽度:2个空格
"prettier.tabWidth": 2,
// 不使用制表符,使用空格进行缩进
"prettier.useTabs": false,
// 语句结尾添加分号
"prettier.semi": true,
// 使用单引号而不是双引号
"prettier.singleQuote": true,
// 在所有可能的地方添加尾随逗号(便于版本控制)
"prettier.trailingComma": "all"
}
2、配置.prettierrc文件
{
"printWidth": 180,
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"quoteProps": "as-needed",
"trailingComma": "none",
"bracketSpacing": true,
"arrowParens": "always",
"semi": false,
"rangeStart": 0,
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": true,
"endOfLine": "auto",
"embeddedLanguageFormatting": "auto",
"singleAttributePerLine": false,
"bracketSameLine": true
}
3、配置.prettierignore文件
# Dependencies
node_modules/
# Build outputs
dist/
build/
*.min.js
*.min.css
# Generated files
.vite/
coverage/
# Package files
package-lock.json
yarn.lock
pnpm-lock.yaml
# IDE files (保留.vscode/settings.json等配置文件)
.idea/
# OS files
.DS_Store
Thumbs.db
# Logs
*.log
# Environment files
.env
.env.local
.env.*.local
# Public assets (optional)
public/
# Documentation
README.md
CHANGELOG.md
四、添加脚本到 package.json
{
"scripts": {
"format:check": "prettier --check .",
"format:all": "prettier --write ."
}
}
五、验证配置
1. 打开任意代码文件
2. 写一行不规范代码:`const a=1,b=2`
3. 按 `Ctrl+S` 保存
4. 应该自动格式化为:`const a = 1, b = 2;`
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)