使用环境
<!-- 必须 告知插件运行的环境,帮助开发者定位问题 -->
- 操作系统版本:windows11
- 操作系统平台(x86/x64):
- VsCode 版本:1.96.2
- EIDE 插件版本:3.20.1
- C/C++ 插件版本:1.22.11
- 何种编译器(keil_c51/sdcc/armcc5/armgcc/...):AC5/AC6
- 编译器版本(非编译问题可忽略):
描述问题
<!-- 使用简明清晰的语言描述您的问题 -->
有一个多项目工作区root,包含有prj_a,prj_b,prj_c三个项目。
打开prj_a/prj_b/prj_c对应的单独的工作区编译时,Ctrl+单击能正确跳转到对应的错误/警告处。
打开root根工作区,并且设置激活其中一个项目比如prj_a,编译prj_a后无法跳转到对应的错误/警告处,经检查编译输出的链接是prj_a对应的相对路径,由于root和prj_a在不同目录层次,而此时vscode打开的是root根工作区,相对路是以root为基准的,此时Ctrl+单击显然找不到对应的文件。
对于多项目工作区是否能修正子项目编译后输出的相对路径以根工作区为参考,或者输出绝对路径。
屏幕截图
<!--使用一些截图能够更好地展现问题 -->
从root工作区打开编译与从prj_a打开工作区编译时输出的相对路径完全一样。
从prj_a打开工作区参正常跳转,但是由于root工作区.code-workspace文件在父目录,所以从root打开工作区编译后会找不到相对路径,无法正常跳转。
期望现象
<!--您期望应该产生的,但实际上却没有发生的结果-->