Type: LanguageService
Describe the bug
In lower right corner, there is a cylinder (may be the symbol of database?) always shows "tag parser initializing" and it can't finish.
When press F12 to go to definition shows "No definition found for ...".
OUTLINE shows "can't found any symbol" (something like that, I can't remember clearly. )
I tried to reinstall extensions and restart vscode but it doesn't work. I also tried to delete .vscode folder in my ${WORKSPACE} but it doesn't work either.
Finally, I found following workaround:
Workaround
Sorry, I can't reproduce this issue, so I can't provide additional context.
I hope the information I have provided will be helpful.
Yeah, other users have reported a similar bug symptom. Changing the C_Cpp.Default.browse.databaseFilename setting to something like "${workspaceFolder}/.vscode/vc.db" may also fix it. The problem is the database at the default location is unusable, probably due to a dangling/old process locking the database and lock detection/fallback mechanism doesn't work well on Linux.
I just hit the same bug on my Linux machine...some old/dangling processes...killing them fixed it. I think VS Code isn't killing our processes as it used to when versions get uninstalled/installed. Maybe we need some mechanism to kill old processes to compensate for VS Code not handling this.
The similar problem once occurred in my vscode on Windows 10 too. I hit this bug on Windows 10 (not connect to remote server) in September. I just remove all cache folders of vscode to solve it.
What's the name of the process that should be killed?
@msafi It should start with Microsoft.VSCode.CPP.Extension (our next 0.27.0 release is renaming it to "cpptools" though).
Most helpful comment
Yeah, other users have reported a similar bug symptom. Changing the C_Cpp.Default.browse.databaseFilename setting to something like "${workspaceFolder}/.vscode/vc.db" may also fix it. The problem is the database at the default location is unusable, probably due to a dangling/old process locking the database and lock detection/fallback mechanism doesn't work well on Linux.