VSCode如何设置默认启动项_VSCode默认启动配置设置

答案:通过配置launch.json文件设置调试默认项,可直接编辑或使用图形界面选择环境类型,确保program路径正确并利用任务简化启动流程。

VSCode如何设置默认启动项_VSCode默认启动配置设置

VSCode设置默认启动项,其实就是在配置launch.json文件,告诉VSCode你想用什么配置来调试你的项目。直接修改launch.json,或者通过图形界面添加配置,都能搞定。

解决方案

  1. 打开launch.json: 在VSCode中按下

    Ctrl+Shift+D

    (或者

    Cmd+Shift+D

    ),进入Debug视图。如果没有

    launch.json

    文件,VSCode会提示你创建一个。点击“create a launch.json file”链接,选择你的调试环境(比如Node.js, Python, C++等)。

  2. 理解launch.json结构:

    launch.json

    是一个JSON文件,包含一个

    configurations

    数组。每个配置项定义了一个调试会话。比如:

    {   "version": "0.2.0",   "configurations": [     {       "name": "Python: Current File",       "type": "python",       "request": "launch",       "program": "${file}",       "console": "integratedTerminal"     },     {       "name": "Node.js: Launch Program",       "type": "node",       "request": "launch",       "program": "${workspaceFolder}/app.js"     }   ] }
    name

    是配置的名称,会在调试器下拉菜单中显示。

    type

    指定调试器类型。

    request

    可以是

    launch

    (启动程序)或

    attach

    (附加到已运行的进程)。

    program

    指定要调试的程序入口点。

  3. 设置默认启动项: VSCode没有直接的“默认启动项”设置。它会记住你上次使用的配置。如果你想每次都用同一个配置,你需要确保每次都选择它。但是,你可以通过一些技巧来简化这个过程:

    • 只有一个配置: 如果你的项目只需要一个调试配置,那就只保留一个配置项在
      launch.json

      中。VSCode会自动使用这个配置。

    • 使用任务(tasks.json): 你可以创建一个任务来启动调试器,并在任务中指定要使用的配置。这样,你可以通过运行任务来启动调试,而不是通过调试器下拉菜单。
    // .vscode/tasks.json {   "version": "2.0.0",   "tasks": [     {       "label": "Debug Python",       "type": "shell",       "command": "echo 'Starting Python debug...'",       "options": {         "cwd": "${workspaceFolder}"       },       "group": {         "kind": "build",         "isDefault": true       },       "problemMatcher": [],       "presentation": {         "reveal": "silent"       },       "dependsOn": "python: current file" // 依赖的launch.json配置     }   ] }  // .vscode/launch.json {   "version": "0.2.0",   "configurations": [     {       "name": "python: current file",       "type": "python",       "request": "launch",       "program": "${file}",       "console": "integratedTerminal"     }   ] }

    在这个例子中,

    tasks.json

    文件定义了一个名为 “Debug Python” 的任务,它依赖于

    launch.json

    文件中名为 “Python: Current File” 的配置。现在,你可以通过运行这个任务来启动调试器,而不需要手动选择配置。

  4. 调试配置技巧:

    • 环境变量: 使用
      env

      属性设置环境变量。

    • 参数: 使用
      args

      属性传递命令行参数。

    • 断点: 在代码中点击行号左侧,添加断点。调试器会在断点处暂停执行。
    • 条件断点: 右键点击断点,选择“Edit Breakpoint”,添加条件表达式。断点只会在条件满足时触发。

如何根据项目类型选择合适的调试器类型?

不同的项目类型需要不同的调试器。VSCode支持多种调试器,包括Node.js, Python, C++, Java, Go等。选择合适的调试器类型,是配置

launch.json

的第一步。

  • Node.js: 使用
    node

    调试器。确保你的项目已经安装了Node.js和npm。

  • Python: 使用
    python

    调试器。确保你已经安装了Python和

    debugpy

    包 (

    pip install debugpy

    )。

  • C++: 使用
    cppdbg

    调试器。你需要安装C++编译器(比如GCC或Clang)和GDB调试器。

  • Java: 使用
    java

    调试器。你需要安装JDK和Java Debug Server (JDWP)。

VSCode通常能自动检测你的项目类型,并推荐合适的调试器。如果你不确定,可以尝试使用VSCode的“Auto Attach”功能,它会自动附加到正在运行的进程。

如何调试运行在Docker容器中的应用程序?

调试运行在Docker容器中的应用程序,需要一些额外的配置。你需要确保你的调试器可以连接到容器中的进程。

  1. 端口映射: 在运行Docker容器时,将容器中的调试端口映射到主机。比如,如果你的应用程序在容器中监听5005端口,你可以使用

    -p 5005:5005

    参数来映射端口。

    VSCode如何设置默认启动项_VSCode默认启动配置设置

    Poe

    Quora旗下的对话机器人聚合工具

    VSCode如何设置默认启动项_VSCode默认启动配置设置289

    查看详情 VSCode如何设置默认启动项_VSCode默认启动配置设置

  2. 远程调试: 配置

    launch.json

    使用

    attach

    模式,并指定容器的IP地址和调试端口。

    {   "name": "Attach to Docker",   "type": "node",   "request": "attach",   "port": 5005,   "address": "localhost", // 或者容器的IP地址   "localRoot": "${workspaceFolder}",   "remoteRoot": "/app" // 容器中的代码路径 }
    localRoot

    指定本地代码路径,

    remoteRoot

    指定容器中的代码路径。调试器会将本地代码映射到容器中的代码,这样你就可以在本地设置断点,并调试容器中的应用程序。

  3. Docker Compose: 如果你使用Docker Compose来管理你的容器,你可以使用

    docker-compose exec

    命令来启动调试器。

    docker-compose exec <service_name> node --inspect-brk app.js

    这个命令会在容器中启动Node.js调试器,并监听9229端口。然后,你可以在VSCode中使用

    attach

    模式连接到容器。

调试时遇到“找不到文件”或“断点未命中”怎么办?

“找不到文件”或“断点未命中”是调试时常见的错误。通常是由于代码路径配置不正确导致的。

  • 检查

    program

    路径: 确保

    launch.json

    中的

    program

    属性指向正确的程序入口点。

  • 检查

    cwd

    路径:

    cwd

    属性指定调试器的当前工作目录。如果你的代码依赖于相对路径,确保

    cwd

    设置正确。

  • 检查

    sourceMaps

    : 如果你的代码经过了编译或转换(比如TypeScript或Webpack),确保启用了

    sourceMaps

    sourceMaps

    可以将编译后的代码映射回原始代码,这样你就可以在原始代码中设置断点。

    {   "name": "Debug TypeScript",   "type": "node",   "request": "launch",   "program": "${workspaceFolder}/dist/index.js",   "preLaunchTask": "tsc: build - tsconfig.json",   "outFiles": [     "${workspaceFolder}/dist/**/*.js"   ],   "sourceMaps": true }
    preLaunchTask

    属性指定在启动调试器之前要运行的任务。在这个例子中,它会运行TypeScript编译器。

    outFiles

    属性指定编译后的代码路径。

  • 检查文件权限: 确保调试器有权访问要调试的文件。

总之,配置VSCode的默认启动项需要理解

launch.json

的结构,并根据你的项目类型和调试需求进行配置。如果遇到问题,仔细检查代码路径、调试器类型和文件权限,通常可以解决问题。

python java vscode js node.js json node go docker Python Java typescript json npm webpack pip auto 命令行参数 JS docker vscode

上一篇
下一篇