解决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中使用调试功能更加顺畅。

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

相关推荐
来鸟 鸣间15 分钟前
vscode 连接远程服务器
服务器·ide·vscode
zhlei_1234515 分钟前
封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
ide·vscode·pyqt
m0_7493175218 分钟前
vscode里如何用git
ide·git·vscode
___波子 Pro Max.4 小时前
Vim查看文件十六进制方法
编辑器·vim
Java斌6 小时前
70年使用权的IntelliJ IDEA Ultimate安装教程
java·ide·intellij-idea
weixin_466485117 小时前
PyCharm中运行.py脚本程序
ide·python·pycharm
程序猿小D7 小时前
第14节 Node.js 全局对象
linux·前端·npm·node.js·编辑器·vim
aningxiaoxixi7 小时前
Android Studio 之基础代码解析
android·ide·android studio
waterHBO8 小时前
一个小小的 flask app, 几个小工具,拼凑一下
javascript·vscode·python·flask·web app·agent mode·vibe coding
界面开发小八哥9 小时前
「Java EE开发指南」如何使用MyEclipse在Web项目中用Web Fragments?
java·前端·ide·java-ee·eclipse·myeclipse