# 代码格式化配置说明

本项目已配置好 ESLint + Prettier 自动格式化，实现一劳永逸的代码规范管理。

## 📦 已安装的工具

- **ESLint 8.57.0**: 代码检查工具
- **Prettier 2.8.8**: 代码格式化工具
- **eslint-plugin-prettier**: ESLint 与 Prettier 集成插件
- **eslint-config-prettier**: 禁用 ESLint 中与 Prettier 冲突的规则

## ⚙️ 配置文件说明

### 1. `.eslintrc.js` - ESLint 配置

- 集成了 Prettier 规则
- 关闭了与 Prettier 冲突的 Vue HTML 格式规则
- 所有格式化规则统一由 Prettier 处理

### 2. `.prettierrc.js` - Prettier 配置

- 2 空格缩进
- 单引号
- 无分号
- 120 字符行宽

### 3. `.vscode/settings.json` - Cursor/VSCode 配置

- 保存时自动格式化
- 保存时自动修复 ESLint 错误
- 使用 Prettier 作为默认格式化工具

### 4. `.editorconfig` - 编辑器配置

- 统一不同编辑器的基本格式

## 🚀 使用方法

### 方法 1：在 Cursor 中使用（推荐）

1. **安装 Cursor 扩展**（如果还没安装）：

   - Prettier - Code formatter
   - ESLint

2. **格式化当前文件**：

   - Windows/Linux: `Shift + Alt + F`
   - Mac: `Shift + Option + F`
   - 或右键选择"格式化文档"

3. **保存时自动格式化**：
   - 直接 `Ctrl + S` 保存，会自动格式化并修复 ESLint 错误

### 方法 2：使用命令行

```bash
# 格式化所有代码
npm run format

# 检查代码格式（不修改）
npm run format:check

# 检查 ESLint 错误
npm run lint

# 自动修复 ESLint 错误
npm run lint:fix
```

## 📋 常用命令

| 命令                   | 说明                                              |
| ---------------------- | ------------------------------------------------- |
| `npm run format`       | 格式化所有 src 目录下的 JS/Vue/JSON/CSS/SCSS 文件 |
| `npm run format:check` | 检查哪些文件需要格式化（不会修改文件）            |
| `npm run lint`         | 检查代码中的 ESLint 错误和警告                    |
| `npm run lint:fix`     | 自动修复可以修复的 ESLint 错误                    |

## ⚠️ 注意事项

### 1. console 语句

- ✅ **已关闭限制**：可以自由使用 console 进行调试
- 不会产生任何警告或错误

### 2. 未使用的变量

- ESLint 会警告未使用的变量
- 如果变量确实需要（比如函数参数），可以用下划线开头：
  ```javascript
  .then(_response => {
    // 不使用 response
  })
  ```

### 3. 格式化冲突

- 如果发现 Cursor 格式化后还有 ESLint 错误，请检查：
  1. 是否安装了 Prettier 扩展
  2. 是否在项目根目录（.prettierrc.js 所在目录）
  3. 尝试重启 Cursor

## 🔧 故障排查

### 格式化不生效

1. **检查 Prettier 扩展是否已安装**

   ```
   Ctrl + Shift + X 打开扩展面板，搜索 "Prettier"
   ```

2. **检查是否在正确的目录**

   ```
   确保在 MES_Manage_View 目录下工作
   ```

3. **重新加载窗口**

   ```
   Ctrl + Shift + P -> 输入 "Reload Window"
   ```

4. **清除 ESLint 缓存**
   ```bash
   npm run lint -- --cache false
   ```

### ESLint 错误过多

运行自动修复命令：

```bash
npm run lint:fix
```

大部分格式问题会被自动修复。

## 📖 规则说明

### 关闭的规则（交给 Prettier 处理）

- `vue/html-closing-bracket-newline`: HTML 标签闭合括号换行
- `vue/html-indent`: HTML 缩进
- `vue/no-spaces-around-equal-signs-in-attribute`: 属性等号周围空格
- `vue/mustache-interpolation-spacing`: 插值表达式空格

### 保留的警告规则

- `no-debugger`: debugger 语句
- `no-unused-vars`: 未使用的变量

### 已关闭的规则

- `no-console`: console 语句（调试必需，已关闭限制）

## 🎯 最佳实践

1. **开发时**：保存时自动格式化即可
2. **提交前**：运行 `npm run lint:fix` 确保代码规范
3. **发现冲突**：优先使用 Prettier 的格式，修改 `.prettierrc.js` 而不是 `.eslintrc.js`

---

配置完成！现在您可以愉快地编码，格式化工作交给工具自动完成。
