Debug笔记——Vscode使用相对路径

VsCode默认是读取不到相对路径

跑着代码好好的突然报错文件找不到,研究半天发现原来是路径问题,换成绝对路径就可以了,但是对于那种路径很多的代码真的很折磨。

在网上查了很多博客,最后发现修改项目工程目录最好用(博主实在是不太喜欢改配置文件,一改错全完蛋)

方法:终端命令行修改工作目录
原理:在VsCode中点击右上角行python代码的时候,默认是创建一个终端,然后自动输入激活环境的指令,然后python xxx.py这种运行,所以说我们可以把Vscode看作是一个微型的Linux终端,我们需要在终端中cd 到自己运行的代码的项目根目录(这时就能用代码里的相对路径了)
毕竟相对路径一般都是针对于根目录的路径

改路径之前
在这里插入图片描述

明显改路径之前终端的当前目录是“D:\SYT_Projects\Mock_data_pro”

修改终端当前目录后
在这里插入图片描述
如图显然,我们把终端当前所在的目录切换到工作目录之后,自然可以使用相对路径了。

小结

用VsCode跑python代码的时候完全可以直接在终端中使用命令行来进行各种操作。
可视化固然是好,但是在底层原理上其实可视化的各个点击操作等也都是预先安排好的批处理命令行命令罢了。

### 配置 VSCode 的文件路径 在 Visual Studio Code (VSCode) 中配置和调试文件路径涉及多个方面,具体取决于所使用的编程语言及其特定需求。对于不同类型的项目,可以通过编辑 `settings.json` 和 `launch.json` 来指定源码、库和其他资源的位置。 #### 对于 C/C++ 项目 为了使编译器能够找到头文件和链接所需的静态/动态库,在 `.vscode/settings.json` 文件内添加如下内容来设定包含目录和库路径: ```json { "C_Cpp.default.includePath": [ "${workspaceFolder}/**", "/usr/local/include" ], "C_Cpp.default.libraryPath": [ "/usr/local/lib" ] } ``` 上述 JSON 片段指定了两个数组用于存储额外的查找位置;第一个是头文件夹列表,第二个则是共享对象(.so)/DLLs所在之处[^3]。 接着,在同一个工作区下的 `.vscode/launch.json` 文件里定义具体的构建与运行参数,以便启动调试会话时自动加载这些设置。例如: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/main.exe", // 可执行文件路径 "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build", // 构建任务名称 "miDebuggerPath": "/usr/bin/gdb" // 调试工具路径 } ] } ``` 这段配置说明了当点击“开始调试”按钮时应采取的动作序列,包括但不限于调用预设的任务去重新编译目标程序,并告知 GDB 如何定位到待测二进制文件以及任何必要的环境变量。 #### 对于 R 语言脚本 针对 R 编程环境,则需特别注意确保正确设置了解释器可执行文件的位置以及其他辅助组件如 radian 终端模拟器的存在与否。这通常通过修改全局或本地的工作空间首选项完成: ```json { "r.rpath.windows": "D:\\Program Files\\R\\R-4.1.0\\bin\\x64\\R.exe", // Windows 下 R 解释器绝对路径 "r.rterm.windows": "D:\\Tools\\radian\\Scripts\\radian.exe" // 如果已安装 radian 则填写其路径 } ``` 以上命令行告诉插件在哪里寻找核心应用程序和服务,从而允许更流畅的操作体验,比如智能感知功能的支持或是直接从 IDE 内部发起交互式计算过程[^2]。 最后值得注意的是,尽管这里只展示了两种常见场景的例子,实际上几乎所有主流开发平台都遵循类似的模式来进行此类定制化操作——即利用内置机制(通常是基于 JSON 或 YAML 格式的文本描述符)向集成开发环境中注入自定义行为逻辑。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值