解决VSCode中Debug和运行路径不一致的

哈喽,大家好,我是木头左!

背景介绍

在Visual Studio Code(简称VSCode)中进行开发时,经常需要使用到调试(Debug)功能。然而,有时候会发现,当尝试调试程序时,程序的运行路径与预期不符。这通常会导致程序无法正确读取文件或访问资源,从而影响调试过程。为了解决这个问题,可以在launch.json文件中配置CWD参数,以确保Debug和运行路径一致。

配置launch.json文件

launch.json文件是VSCode中用于配置调试会话的文件。通过修改这个文件,可以自定义调试器的行为,以满足的需求。要配置CWD参数,需要先找到launch.json文件。通常情况下,这个文件位于项目根目录的.vscode文件夹中。如果没有这个文件,可以手动创建一个。

接下来,需要编辑launch.json文件,添加或修改configurations部分。以下是一个示例配置:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "cwd": "${fileDirname}",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

在这个示例中,为Python语言创建了一个名为"Python: Current File"的调试配置。其中,"cwd"参数设置为"${fileDirname}",表示当前工作目录(CWD)为当前打开文件所在的目录。这样,无论是调试还是运行程序,都会使用相同的路径。

参数解释

  • "name":调试配置的名称,可以自定义。
  • "type":调试器类型,这里使用的是Python。
  • "request":调试请求类型,这里选择的是"launch",表示启动一个新的调试会话。
  • "cwd":当前工作目录(CWD),这里设置为"${fileDirname}",表示当前打开文件所在的目录。
  • "program":要运行的程序,这里设置为"${file}",表示当前打开的文件。
  • "console":指定调试输出的控制台类型,这里选择的是"integratedTerminal",表示使用VSCode内置的终端。
  • "justMyCode":是否仅跳过不在源代码中的代码,这里设置为true

总结

通过配置launch.json文件中的CWD参数,可以确保在VSCode中进行调试时,程序的运行路径与预期一致。这样,就可以顺利地进行调试,避免因路径问题导致的各种困扰。希望这篇文章能帮助到你,让你在VSCode中使用调试功能更加顺畅。

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

相关推荐
threelab15 分钟前
07.three官方示例+编辑器+AI快速学习webgl_buffergeometry_attributes_integer
人工智能·学习·编辑器
早上好啊! 树哥5 小时前
android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示
android·ide·android studio
阿幸软件杂货间6 小时前
VSCode1.101.0便携版|中英文|编辑器|安装教程
vscode·编辑器
tmy_starlight12 小时前
2025年全新 GPT 4.5 AI 大模型 国内免费调用
ide·gpt·编辑器
wyhwust15 小时前
idea出现tomcat不能正确部署的问题--解决方案
java·ide·intellij-idea
Lowcode00216 小时前
企业开发平台大变革:AI 代理 + 平台工程重构数字化转型路径
人工智能·云计算·编辑器
未来之窗软件服务17 小时前
打开所在文件路径,鸿蒙系统,苹果macos,windows,android,linux —智能编程—仙盟创梦IDE
前端·ide·资源管理器·仙盟创梦ide
未来之窗软件服务17 小时前
SAN 文件编码识别-对抗网络搜索—智能编程—仙盟创梦IDE
网络·ide·文件编码·仙盟创梦ide
小声读源码17 小时前
【部署】win10的wsl环境下调试dify的api后端服务
vscode·python·docker·uv·dify·remote-ssh·pyenv
爱吃程序猿的喵18 小时前
基于VSCode+PlatformIO环境的ESP8266的HX1838红外模块
ide·vscode·编辑器·arduino·esp8266·红外线