使用环境

  • 操作系统版本:Windows 11专业版 23H2
  • 操作系统平台(x86/x64):x64
  • VsCode 版本:1.95.1
  • EIDE 插件版本:v3.20.0
  • C/C++ 插件版本:v1.22.10
  • 何种编译器:armcc6
  • 编译器版本(非编译问题可忽略):

描述问题

从Keil导入的STM32的C语言Hal库工程代码部分函数无法正常跳转,跳转到定义会跳转到其头文件声明(Keil中正常跳转),但是部分函数可以正常跳转比如hal库函数和部分自行编写的函数。
之前这个工程内的函数都是可以正常跳转的,但是前几天更新了下vscode后就出现上诉现象了,尝试过卸载vscode并删除相关配置后装回老版本vscode也无法恢复正常,安装新版本vscode也无法恢复正常,重新新建工程导入也无法正常跳转到其定义。
相同的工程打包发给朋友,朋友打开是能够正常跳转对应函数定义的。

期望现象

函数能够正常跳转到定义

    admin
    我根据您提供的链接检查了文件路径和工作空间,都是正确的,但是问题依旧。
    我卸载keil后重新安装keil重新导入keil工程,问题就解决了

    • dao replied to this.

      dao 对了,我还禁用了CMAKE插件才导入的

      9 days later

      我新导入了一个MDK工程又出现部分函数文件路径和工作空间正确的情况下无法跳转了,之前正常的工程还是正常的。
      1.我把之前正常的工程重新导入也能够正常跳转。
      2.把这个异常的工程重新导入依旧部分函数无法正常找到其定义。
      3.禁用cmake插件后重新导入依旧无法跳转。
      4.我将工程文件路径转移到桌面“C:\Users\Dao\Desktop\AnswerDisplay”,重新导入就能正常跳转
      5.我新建一个中文文件夹再将工程转移到其中“C:\Users\Dao\Desktop\测试\AnswerDisplay”,再重新导入也能够正常跳转
      6.我在原始路径"C:\Users\Dao\Desktop\抢答系统\程序\AnswerDisplay",重新导入无法跳转
      7.我新建一个类似路径“C:\Users\Dao\Desktop\抢答系统啊\程序\AnswerDisplay”,重新导入正常跳转
      8.我又新建了个类似路径”G:\Users\Dao\Desktop\抢答系统\程序\AnswerDisplay“,重新导入正常跳转
      9.我把原路径无法跳转的工程整个复制到类似路径”G:\Users\Dao\Desktop\抢答系统\程序\AnswerDisplay“,从新路径打开工程正常跳转
      10.我将“C:\Users\Dao\Desktop\AnswerDisplay”路径下新导入生生成的工程放入原始路径"C:\Users\Dao\Desktop\抢答系统\程序\AnswerDisplay",就变成无法跳转
      不太理解为什么就这个路径无法正常跳转,其它路径不管是否有中文都能正常跳转,作者是否有遇到这种情况?

      Write a Reply...