8.4.3 电脑垃圾和编辑器配置——系统与 IDE 文件
每个人的电脑和编辑器都不一样——这些"个人偏好"不该污染代码仓库。
操作系统文件
macOS
gitignore
# macOS 文件夹元数据
.DS_Store
.AppleDouble
.LSOverride
# 图标文件
Icon?
# 废纸篓
.Trashes
# Spotlight 索引
.Spotlight-V100Windows
gitignore
# 缩略图缓存
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# 桌面配置
Desktop.ini
# 快捷方式
*.lnk
# 回收站
$RECYCLE.BIN/Linux
gitignore
# 备份文件
*~
# 临时文件
.fuse_hidden*
.nfs*IDE 配置
VS Code
gitignore
# 用户设置(个人偏好)
.vscode/settings.json
# 工作区配置
.vscode/*.code-workspace
# 历史记录
.history/
# 但可能要保留这些共享配置:
# !.vscode/extensions.json # 推荐扩展
# !.vscode/launch.json # 调试配置
# !.vscode/tasks.json # 任务配置JetBrains (WebStorm/IntelliJ)
gitignore
# IntelliJ IDEA 项目配置
.idea/
# 但可能保留代码风格:
# !.idea/codeStyles/
# !.idea/inspectionProfiles/Vim/Neovim
gitignore
# 交换文件
*.swp
*.swo
*~
# Session 文件
Session.vim
Sessionx.vimEmacs
gitignore
# 备份
*~
\#*\#
.#*
# 自动保存
.saves-*全局 gitignore
与其在每个项目都配置系统文件,不如设置全局忽略:
配置方法
bash
# 1. 创建全局 gitignore 文件
touch ~/.gitignore_global
# 2. 告诉 Git 使用这个文件
git config --global core.excludesFile ~/.gitignore_global推荐的全局配置
gitignore
# ~/.gitignore_global
# macOS
.DS_Store
.AppleDouble
# Windows
Thumbs.db
Desktop.ini
# 编辑器
*.swp
*.swo
*~
.idea/
.vscode/settings.json
# 个人笔记
TODO.md
NOTES.md项目共享配置
有些 IDE 配置可能需要团队共享:
推荐扩展 (.vscode/extensions.json)
json
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"prisma.prisma"
]
}调试配置 (.vscode/launch.json)
json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Next.js: debug",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["dev"],
"port": 9229
}
]
}配置策略
| 文件 | 建议 | 原因 |
|---|---|---|
| .vscode/settings.json | 忽略 | 个人偏好 |
| .vscode/extensions.json | 提交 | 统一开发环境 |
| .vscode/launch.json | 提交 | 共享调试配置 |
| .idea/ | 忽略 | IDE 特定 |
| .editorconfig | 提交 | 跨 IDE 格式化 |
EditorConfig 替代方案
使用 .editorconfig 可以跨 IDE 统一基本格式:
ini
# .editorconfig
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false验收清单
- [ ] 配置了操作系统文件的忽略规则
- [ ] 设置了全局 gitignore
- [ ] 理解哪些 IDE 配置应该共享
- [ ] 可选:配置了 EditorConfig
