-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C/C++V1.22.11, Clicking on a function cannot jump to the function implementation of another file, it can only jump to the declaration of the head file #13078
Comments
Yes, the issue is that the file with definition is not getting "tag parsed" and the symbol added to our database. When you open the file and save it, that appears to trigger the tag parse and database update. If you set C_Cpp.loggingLevel to "Debug" and check your C/C++ logs after running the "Rescan Workspace" command you should check to see if the "Processing folder " logging includes the folder that has the definition. Then you can try running the Reset IntelliSense Database command, which could fix the issue if your database is in a bad state, otherwise, you can look for "tag parsing file" messages and see if you notice which files are not getting parsed. You might have a files.exclude set. |
loggingLevel: Debug 标记分析文件: D:\Product\GSP-6Pro-Pdf\Drivers\FM33LC0xx_FL_Driver\fm33lc0xx_fl_rtc.h 标记分析文件: C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared\apisetcconv.h 标记分析文件: D:\Product\GSP-6Pro-Pdf\Drivers\FM33LC0xx_FL_Driver\fm33lc0xx_fl_rtc.h When I installed version v1.21.6, the output log. It's normal now. You can jump to the function definition now. |
@fxliuqq Your logging indicates that Are the files under D:\PRODUCT\GSP-6PRO-PDF\APPLICATION in a non-UTF-8 file encoding? Can you try 1.23.2 (pre-release) and then run the Reset IntelliSense Database command? We fixed some bugs related to non-UTF-8 file encoding handling in that release. |
The 1.23.2 (pre release) version also does not work when resetting the IntelligenceDatabase There are GB2312 files in the folder. |
Hi, @fxliuqq . Are you using the setting |
I have always set it this way, V1.21.6 can be used normally, but V1.22.9, V1.22.10, and V1.22.11 are not, and cannot jump across files normally. |
Hi @fxliuqq . Since you have |
I just tried V1.21.6, but upgrading to V1.22.0 doesn't work. |
stm32.zip |
Hi @fxliuqq . The repro you provided requires dependencies I don't have, such as Keil_v5. I tried installing We do have some file encoding fixes coming in 1.23.3, which will be released within a day or two. Using your files (without C:\Keil_v5 present, and after adding a |
Keil5.37 and later versions no longer have ARMCC. Okay, I'll try installing the next version later. |
I just used V1.23.3 and the function jump has been improved, but there were still a few unsuccessful jumps. But there will be many defined macros and global variables that cannot be recognized and redirected. |
The 'problems' reported in your image appear to be IntelliSense errors. If the code builds, IntelliSense errors are often due to the IntelliSense configuration not matching how the code is actually built. You can use the You might try configuring the extension by taking a working full compile command line (perhaps from a log of a successful build) and use that in the Otherwise, if you could isolate/reduce any of the remaining issues you're seeing, we could take a look at them individually. |
Hi @fxliuqq . I think you may be getting more correct (error) results with 1.23.3. I am seeing similar issues with the For instance, in I also see some errors, such as in I do see some strange issues with |
Environment
Bug Summary and Steps to Reproduce
C/C++V1.21.6 can be used normally, but C/C++V1.22.9, C/C++V1.22.10, and C/C++V1.22.11 cannot be used normally. Clicking on the function will redirect the function to the declaration of the header file if it is in the current file, but if the implementation of the function is not in the current file, it will only redirect to the declaration of the header file.
Configuration and Logs
Other Extensions
Additional context
I found that the file containing the function that cannot be jumped to will not list the function list. It is necessary to modify some of the content of the file and save it, so that the file can list the function list and jump to it. Therefore, I believe that Intellisense will become invalid and there will be no automatic recognition of files in the workspace. It is necessary to manually change the file to trigger the recognition file and recognition function.
The text was updated successfully, but these errors were encountered: