🛠️ 开发工具:Git / IDE / 调试 / 性能分析

好的工具不能让烂代码变好,但能让好代码写快 10 倍——选对工具链是全栈开发的基础
📋 目录

Git 工作流

分支策略

策略 分支模型 适合
Trunk-Based main + 短命 feature 分支 + Feature Flags ✅ SaaS 首选——持续部署,快速迭代
GitHub Flow main + feature 分支 + PR ✅ 小团队——简单清晰
Git Flow main + develop + feature + release + hotfix ⚠️ 有版本发布需求的产品——过于复杂
💡 SaaS 推荐 Trunk-Based Development:所有人在 main 上开发(通过短命分支 + PR),用 Feature Flags 控制功能上线。好处:减少合并冲突、持续部署、快速回滚。

Git 配置最佳实践

# .gitconfig — 基础配置
[user]
  name = Your Name
  email = you@yourapp.com

[init]
  defaultBranch = main

[core]
  editor = code --wait  # 或 vim/nano
  autocrlf = input      # Linux/Mac

# 有用的别名
[alias]
  st = status -sb
  co = checkout
  br = branch
  ci = commit
  lg = log --oneline --graph --decorate -20
  unstage = reset HEAD --
  amend = commit --amend --no-edit
  wip = !git add -A && git commit -m 'WIP'
  undo = !git reset --soft HEAD~1

# .gitignore — SaaS 项目模板
node_modules/
.next/
.env*.local
*.log
dist/
coverage/
.DS_Store
*.swp

Conventional Commits

# 提交消息格式
# <type>(<scope>): <subject>

feat(auth): add OAuth2 Google sign-in
fix(api): handle null user in billing endpoint
docs(readme): update installation instructions
style(ui): fix button alignment on mobile
refactor(db): extract connection pooling logic
test(api): add integration tests for webhook
chore(deps): upgrade Next.js to 15.2

# 自动生成 CHANGELOG
# 使用: commitizen + cz-conventional-changelog
npm install -D commitizen cz-conventional-changelog
# package.json: "config.commitizen.path": "cz-conventional-changelog"
# 使用 git cz 代替 git commit

IDE 与编辑器

编辑器对比

编辑器 语言支持 扩展生态 性能 AI 集成 适合
VS Code 全语言 ⭐⭐⭐⭐⭐ ⭐⭐⭐ Copilot/Continue/Cline 通用首选
Cursor 全语言 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ✅ 原生 AI-First AI 驱动开发
WebStorm JS/TS 专精 ⭐⭐⭐⭐ ⭐⭐⭐⭐ Copilot 重型 JS 项目
Neovim 全语言 ⭐⭐⭐ ⭐⭐⭐⭐⭐ copilot.vim Vim 党
Zed 全语言 ⭐⭐ ⭐⭐⭐⭐⭐ 有限 极简极速
💡 2026 推荐:Cursor 是当前最高效的选择——VS Code 生态 + 原生 AI 编程体验。如果你还没试过,强烈建议。免费额度足够日常使用。

VS Code / Cursor 必装扩展

🌐 前端开发
  • Tailwind CSS IntelliSense — 类名自动补全
  • ES7+ React Snippets — React 代码片段
  • Prettier — 代码格式化
  • ESLint — 代码检查
  • Auto Rename Tag — 标签重命名联动
  • Color Highlight — 颜色值高亮
⚙️ 后端开发
  • Prisma — Prisma Schema 支持
  • Thunder Client — 轻量 API 测试
  • DotENV — .env 语法高亮
  • Docker — Docker 管理和调试
  • GitLens — Git 历史行级追溯
  • Error Lens — 行内错误高亮
🤖 AI 编程
  • GitHub Copilot — AI 代码补全
  • Continue — 开源 AI 编程助手
  • Cline — AI Agent 自主编程
  • Codeium — 免费 AI 补全替代
🔧 通用效率
  • GitLens — Git 增强
  • Project Manager — 项目快速切换
  • Todo Tree — TODO/FIXME 高亮
  • Multi Cursor Case — 多光标大小写

终端工具

现代终端工具链

类别 传统工具 现代替代 优势
终端模拟器 Terminal.app / xterm Kitty / Alacritty / Warp GPU 渲染、快、分屏
Shell bash zsh + oh-my-zsh / fish 自动补全、插件生态
Prompt PS1 Starship 跨 Shell、快、信息丰富
ls ls -la eza (exa) 颜色、Git 状态、树形
cat cat bat 语法高亮、Git 集成
find find / grep fd + ripgrep (rg) 快 10-100 倍
top top / htop btm (bottom) 跨平台、更好看
jq grep + sed jq / jiq JSON 处理必备
# 必装 CLI 工具
# 包管理
brew install eza bat fd ripgrep fzf jq tmux

# zsh 插件(oh-my-zsh)
# ~/.zshrc plugins=(
#   git z sudo zsh-autosuggestions zsh-syntax-highlighting
#   fzf eza copypath copydir dirhistory
# )

# fzf — 模糊搜索(改变你的终端体验)
# Ctrl+T: 搜索文件
# Ctrl+R: 搜索历史
# Alt+C: 跳转目录

# 常用别名
alias ll='eza -la --git --icons'
alias cat='bat --paging=never'
alias find='fd'
alias grep='rg'
alias gs='git st'
alias gl='git lg'

API 开发工具

工具 类型 特点 定价
Bruno API 客户端 开源、Git 友好(文件存储)、离线 免费
Thunder Client VS Code 扩展 轻量、不离开编辑器 免费
Postman API 平台 功能全、协作强、但臃肿 免费 / $14/月
Insomnia API 客户端 GraphQL 支持好、轻量 免费 / $5/月
Hoppscotch Web API 客户端 开源、浏览器直接用 免费
💡 推荐:Bruno 或 Thunder Client。Bruno 把 API 集合存为文件,可以 Git 管理——团队协作和版本追踪比 Postman 的云同步好得多。Thunder Client 则适合"不想切换窗口"的场景。

调试工具

前端调试

🌐 Chrome DevTools
  • Elements — DOM 检查、CSS 实时修改
  • Console — 日志、表达式求值
  • Sources — 断点调试、代码步进
  • Network — 请求瀑布流、响应检查
  • Performance — 帧率、渲染、CPU 分析
  • Application — Storage、Service Worker
⚛️ React 调试
  • React DevTools — 组件树、Props/State 检查
  • Why Did You Render — 不必要的重渲染检测
  • React Scan — 自动检测渲染性能问题
  • TanStack DevTools — Query 状态调试
  • Redux DevTools — 状态变更时间旅行

后端调试

# Node.js 调试
# 1. VS Code 内置调试器
# launch.json:
{
  "version": "0.2.0",
  "configurations": [{
    "type": "node",
    "request": "launch",
    "name": "Debug API",
    "runtimeExecutable": "npm",
    "runtimeArgs": ["run", "dev"],
    "console": "integratedTerminal"
  }]
}

# 2. Node.js Inspector
node --inspect-brk your-script.js
# 打开 chrome://inspect → 点击 "inspect"

# 3. 条件断点(在 DevTools 或 VS Code 中)
// 右键断点 → "Edit Breakpoint" → 输入条件
// 例: userId === 'abc123'

# 4. 远程调试(生产环境慎用!)
node --inspect=0.0.0.0:9229 your-script.js
# 只在安全网络中使用!

性能分析

前端性能

📊 Core Web Vitals 优化
指标 含义 目标 优化方法
LCP 最大内容绘制 <2.5s 图片优化、CDN、SSR/SSG、预加载关键资源
INP 交互到下一次绘制 <200ms 减少主线程阻塞、Web Worker、debounce
CLS 累积布局偏移 <0.1 图片/广告预留空间、字体优化、避免动态注入
// 性能测量代码
import { onLCP, onINP, onCLS } from 'web-vitals'

onLCP(metric => {
  analytics.track({ name: 'web_vital_lcp', value: metric.value })
})
onINP(metric => {
  analytics.track({ name: 'web_vital_inp', value: metric.value })
})
onCLS(metric => {
  analytics.track({ name: 'web_vital_cls', value: metric.value })
})

// Next.js 内置性能分析
// next.config.js
module.exports = {
  experimental: {
    webVitalsAttribution: ['CLS', 'LCP', 'INP'],
  },
}

后端性能分析

// Node.js 性能分析
// 1. CPU Profile
node --prof your-app.js
node --prof-process isolate-0x*.log > profile.txt

// 2. Clinic.js — 可视化性能分析
npm install -g clinic
clinic doctor -- node your-app.js
clinic flame -- node your-app.js
clinic bubbleprof -- node your-app.js

// 3. 数据库查询分析
// Prisma: 开启查询日志
const prisma = new PrismaClient({
  log: [
    { level: 'query', emit: 'event' }
  ]
})

prisma.$on('query', (e) => {
  if (e.duration > 100) { // 超过 100ms 的慢查询
    console.warn('Slow query:', e.query, e.duration + 'ms')
  }
})

// PostgreSQL: pg_stat_statements
// 共享库加载 pg_stat_statements
// SELECT query, calls, total_time, mean_time
// FROM pg_stat_statements ORDER BY total_time DESC LIMIT 20;

数据库工具

工具 类型 特点
Drizzle Studio DB GUI 轻量、与 Drizzle ORM 集成、本地运行
pgAdmin PostgreSQL GUI 官方工具、功能全、但界面旧
DBeaver 通用 DB GUI 支持几乎所有数据库、功能最全
TablePlus DB GUI Mac 原生、快、好看
Prisma Studio DB GUI 与 Prisma ORM 集成、直观
Supabase Dashboard DB GUI + 后台 数据库管理 + Auth + Storage 一体

开发环境

Dev Container / Devbox

// .devcontainer/devcontainer.json — VS Code Dev Container
{
  "name": "YourApp Dev",
  "image": "mcr.microsoft.com/devcontainers/typescript-node:20",
  "features": {
    "ghcr.io/devcontainers/features/postgresql:1": {}
  },
  "forwardPorts": [3000, 5432],
  "postCreateCommand": "npm install",
  "customizations": {
    "vscode": {
      "extensions": [
        "dbaeumer.vscode-eslint",
        "esbenp.prettier-vscode",
        "prisma.prisma"
      ]
    }
  }
}

// 开发环境一键启动
// docker-compose.dev.yml
version: '3.8'
services:
  app:
    build: .
    ports: ['3000:3000']
    environment:
      DATABASE_URL: postgresql://dev:dev@db:5432/yourapp_dev
    depends_on: [db, redis]

  db:
    image: postgres:16
    environment:
      POSTGRES_USER: dev
      POSTGRES_PASSWORD: dev
      POSTGRES_DB: yourapp_dev
    ports: ['5432:5432']
    volumes: ['pgdata:/var/lib/postgresql/data']

  redis:
    image: redis:7-alpine
    ports: ['6379:6379']

volumes:
  pgdata:

AI 辅助开发

2026 年,AI 编程助手已经不是"可选项",而是开发工具链的标准配置。

工具 类型 特点 定价
Cursor AI IDE VS Code 分支、原生 AI、Tab 补全、Chat、Agent 免费 / $20/月
GitHub Copilot AI 补全 行级补全、Chat、VS Code/JetBrains 均支持 $10/月
Cline AI Agent 自主读写文件、执行命令、浏览器测试 按 API 用量
Continue AI 助手 开源、支持多种 LLM、可自托管 免费(自带 API Key)
Claude Code CLI Agent 终端内 AI 编程、理解整个代码库 按 API 用量
v0 UI 生成 描述生成 React 组件、适合原型 免费额度 / $20/月
💡 AI 编程最佳实践:

🔗 相关章节