⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

8.4.3 电脑垃圾和编辑器配置——系统与 IDE 文件

每个人的电脑和编辑器都不一样——这些"个人偏好"不该污染代码仓库。

操作系统文件

macOS

gitignore
# macOS 文件夹元数据
.DS_Store
.AppleDouble
.LSOverride

# 图标文件
Icon?

# 废纸篓
.Trashes

# Spotlight 索引
.Spotlight-V100

Windows

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.vim

Emacs

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