当前位置: 首页 > news >正文

VSCode终极版 - 详解

VSCode与其他编辑器的设计理论不同

# VSCode 的设计理念
- 轻量级编辑器 + 插件生态
- 高度可定制,但需要配置
- 适合各种语言和场景(因此看起来配置比较多),VSCode 的强大在于"可选配置",不是"必须配置"
# vs 传统 IDE(如 PyCharm)
- 重量级集成开发环境
- 开箱即用,定制性有限
- 主要针对特定语言

在VSCode中配置Python环境

  1. 安装Python 解释器,官网下载:https://www.python.org/downloads/
  2. vscode插件:
    • Python 扩展(官方)
    扩展名称:Python
    发布者:Microsoft
    ID:ms-python.python
  3. 使用
    3.1 创建虚拟环境:Ctrl+Shift+P → “Python: Create environment”
    3.2 选择 Python 解释器:Ctrl+Shift+P → “Python: Select Interpreter”,选择虚拟环境中的 Python解释器。
  4. 进入虚拟环境的核心步骤:cd 到项目目录,运行 source .venv/bin/activate(Linux/Mac系统)
    注意: 激活只影响当前终端会话,每次新开终端都需要重新激活。VSCode等IDE会自动处理这个过程。
  5. 安装Code runner(可选)
    为方便起见,可以安装CodeRunner插件,一键运行Python代码

调试

.vscode/launch.json 是 VSCode 的调试配置文件,用来定义如何运行和调试你的代码。

launch.json文件位置和作用

也可以不配置这个文件,对于大多数日常调试任务,默认调试完全够用! 只有遇到特殊需求(比如机器学习项目需要输入数据文件等)或复杂项目时才需要配置 launch.json。

项目目录/
├── .vscode/
│   ├── launch.json      # 调试配置
│   ├── settings.json    # 编辑器设置
│   ├── tasks.json       # 任务配置
│   └── extensions.json  # 推荐扩展
├── src/
└── main.py

基本结构

{
"version": "0.2.0",           // 配置文件版本
"configurations": [            // 调试配置数组
{
"name": "配置名称",
"type": "调试器类型",
"request": "启动方式",
"program": "程序路径"
}
],
"compounds": [                 // 复合调试配置
{
"name": "复合配置名称",
"configurations": ["配置1", "配置2"]
}
]
}

最简单的配置

{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}

创建和编辑 launch.json

# 方法1:通过调试面板
1. 按 Ctrl+Shift+D 打开调试面板
2. 点击"创建 launch.json 文件"
3. 选择调试器类型(Python)
4. 选择配置模板
# 方法2:通过命令面板
Ctrl+Shift+P → "Debug: Open launch.json"

为什么有两个调试类型?

# 传统调试器 (type: "python")
- 基于 ptvsd 包
- 调试速度较慢
- 功能相对基础
- 兼容性好
# 新调试器 (type: "debugpy")  
- 基于 debugpy 包
- 调试速度更快
- 功能更丰富
- 支持更多特性
http://www.rkmt.cn/news/94207.html

相关文章:

  • WebSocket概念原理及使用注意事项 - 实践
  • 30 * 7 = 210
  • Ink/Stitch 开源刺绣设计软件:免费教程与完整使用指南
  • 全漏洞笔记--一些基本知识
  • 江苏抗台风抗风卷帘门厂家排名前十有哪些 - 品牌排行榜
  • 从微信红包延迟看超级应用高并发下的数据一致性攻坚
  • 我已经完全爱上沃玛了!
  • VLAN配置实验报告
  • GPT的前世今生
  • 逻辑回归简介
  • JavaScript 的垃圾回收对实时图形(60FPS)的影响:如何编写‘零 GC’代码实现物理引擎的稳帧运行
  • flask基础知识深入——会话管理:Flask Session从原生到扩展源码分析及使用
  • 边缘计算中的 JavaScript Isolates 架构:对比 Docker 容器在冷启动延迟、内存占用与多租户隔离上的优势
  • abogen有声书生成工具:基于Kokoro的多语言语音合成解决方案
  • Linux:基础IO(四)
  • webshell
  • 如何从零开始搭建公司自动化测试框架?
  • 54
  • Swagger Core实战指南:构建企业级API文档自动生成系统
  • AsyncHttpClient WebSocket终极指南:从零构建高性能实时应用
  • 2025软件测试面试题-mysql
  • 【C++】哈希表实现
  • OpenWrt智能路由终极指南:如何实现多线路带宽叠加
  • 涛思数据库:DB error: some vnode/qnode/mnode(s) out of service (10.703928s)
  • Boss直聘时间显示插件深度调试实战指南
  • Synology M2卷配置终极指南:从零开始快速上手NAS存储优化
  • 具身智能的春天来了!浦东百家企业抢滩人形机器人
  • Ansible自动化运维入门:从手工到批量部署
  • 用AI重构工作流:IT人从“忙到瞎”到“忙到点上”的核心秘诀
  • 图灵机:一台“想象中的机器”,如何定义了计算的边界?