vscode 做数据科学的关键是打通 python、jupyter、git、sql 和调试环节:用 venv + pyproject.toml 隔离复现环境;Jupyter Kernel 绑定项目环境并禁用远程服务;Git 通过 .gitignore 和 nbdime 精准管理代码与 notebook;配合 black 格式化、SQLTools 查询及原生调试提升效率。

用 VSCode 做数据科学,关键不是装一堆插件,而是让 Python、Jupyter、Git、SQL 和调试几个环节真正串起来,不卡顿、不丢上下文、能复现。
Python 环境:隔离 + 可复现
别用系统 Python 或全局 pip。每个项目配独立虚拟环境,推荐 venv + pyproject.toml 管理依赖:
- 终端里运行
python -m venv .venv创建环境 - 在项目根目录放
pyproject.toml,写明 Python 版本和依赖(用[project.dependencies]) - VSCode 自动识别
.venv文件夹,按Ctrl+Shift+P→ “Python: select Interpreter” 指向.venv/bin/python(macOS/linux)或.venvScriptspython.exe(windows) - 安装包统一用
pip install -e .(可编辑模式),改了代码不用重装就能 import
Jupyter 工作流:本地 Kernel + 轻量笔记
VSCode 内置 Jupyter 支持已很成熟,重点是让它跑在你自己的环境里,而不是默认的“Jupyter Server”:
- 确保已激活项目虚拟环境后,在终端运行
pip install ipykernel,再执行python -m ipykernel install --user --name myproject --display-name "Python (myproject)" - 新建
.ipynb文件,点击右上角 Kernel 选择刚注册的名字,这样所有import和变量都走你项目的依赖 - 禁用自动启动远程 Jupyter Server(设置里搜
jupyter.enableRemote,关掉) - 写探索性代码优先用
.ipynb,逻辑稳定后及时拆成.py模块,避免 notebook 越来越重
Git 集成:跳过中间层,直接管好数据与输出
VSCode 的 Git ui 足够用,但数据项目容易误提交大文件或中间结果:
- 根目录加
.gitignore,至少包含:__pycache__/、.venv/、data/raw/(原始数据)、outputs/、*.ipynb(或用nbdime差分,见下条) - 想保留 notebook 版本对比?装官方插件 nbdime,它能让 Git diff 显示 cell 级别变更,而不是一整段 jsON
- 敏感配置(如 API keys)绝不硬编码,用
.env+python-dotenv加载,把.env加进.gitignore - Commit 前养成习惯:看一眼源码管理侧边栏,确认只选中了该提交的改动
效率增强:小配置,大不同
几个不显眼但每天省 10 分钟的设置:
- 格式化统一:装
black或ruff,在 VSCode 设置里搜 “format on save”,勾选;再设默认格式化工具为 black(需pip install black) - SQL 快速查看:装
SQLTools插件,连 sqlite / postgresql,右键 SQL 文件可直接“Run Query”,结果以表格展示 - 快速调试:在 Python 文件里打
F9设断点,F5启动调试;对 notebook,点 cell 左侧的 ▶️ 小图标即可单 cell 调试,变量面板实时显示 - 终端联动:设置终端默认为 bash/zsh(非 PowerShell),并开启“split terminal”,一边跑训练,一边查日志或 git status
基本上就这些。不需要追求插件数量,核心是环境干净、Kernel 可控、Git 不踩坑、操作有反馈。搭好一次,后续新项目复制粘贴配置,十分钟内就能开工。