PTVS 已于2021年正式归档,不再维护;当前 Visual Studio(2019 及以后)内置 Python 支持,通过 Python 开发工作负载提供,整合 Pylance、debugpy 和 pip 环境管理,无需手动安装 PTVS。

Visual Studio 写 Python 代码体验偏“重但稳”,适合已有 VS 生态、需要多语言混编、或依赖 Windows 原生调试/部署的用户;对纯 Python 新手或轻量开发场景,反而容易卡在环境配置和启动延迟上。
Python Tools for Visual Studio(PTVS)是否还在 actively maintained
PTVS 已于 2021 年正式归档,不再接收新功能更新。当前 Visual Studio(2019 及以后版本)内置的 Python 支持,是通过 Python 开发工作负载 提供的,底层整合了 Pylance 语言服务器、pip 环境管理、以及基于 debugpy 的调试器——它不是独立插件,而是 IDE 原生能力的一部分。
这意味着:
- 你不需要手动安装 PTVS 扩展,勾选安装时的
Python 开发和可选的Python Web 支持即可 -
Pylance默认启用,提供类型提示、快速跳转、未使用变量标灰等能力,但需注意:若项目含大量动态属性(如__getattr__或字典键访问),补全可能不完整 - 旧版 PTVS 文档中提到的
IronPython或Jython支持已移除,仅支持 CPython(即官网下载的标准 Python)
IntelliSense 补全不准或延迟高怎么办
常见现象是输入 import numpy as np; np. 后无响应,或补全列表空、慢、漏方法。这不是 bug,而是环境感知逻辑在起作用:
立即学习“Python免费学习笔记(深入)”;
- 确保当前文件属于一个已识别的 Python 项目(即有
.py文件且解决方案资源管理器中显示为 Python 项目,而非“打开文件夹”模式) - 检查右下角状态栏是否显示正确的解释器路径;若显示
Python 3.x (Global),而你实际用的是venv,点击它并选择对应虚拟环境的python.exe - 首次加载大型包(如
scipy、pandas)时,Pylance 会后台构建索引,此时可等待几秒,或手动触发:右键编辑器 →Restart Language Server - 禁用不必要的 lint 工具(如
pylint)能明显提速,路径:工具 > 选项 > Python > 语言服务 > 启用 linting
运行/调试单个 .py 文件总报错 “找不到模块” 或 “No module named xxx”
这是最常被忽略的路径陷阱。Visual Studio 默认以项目根目录为 sys.path[0],但如果你直接右键某个子目录下的 main.py → 启动,它不会自动把父目录加进路径——和命令行 python sub/main.py 行为一致。
- 正确做法:在
解决方案资源管理器中右键该文件 →设为启动项,再点绿色三角形;VS 会按项目结构解析相对导入 - 若必须运行非启动项脚本,可在
调试 > 调试设置 > 当前脚本中勾选将当前文件所在目录添加到 PYTHONPATH - 绝对不要依赖
sys.path.append('..')这类硬编码,它会让代码无法被其他工具(如 pytest、VS Code)复用
真正影响体验的不是功能多少,而是环境边界是否清晰:VS 把“项目”和“解释器”强绑定,一旦开错文件夹、选错解释器、或误用“打开文件夹”模式,后续所有 IntelliSense、调试、包安装都会失准——这些细节不报红,但会让你反复怀疑是不是代码写错了。


















