Vscode-cpptools: compile_commands.json are not getting reloaded on change.

Created on 21 Jul 2018  路  5Comments  路  Source: microsoft/vscode-cpptools

Type: LanguageService

I can not find a way to reload compile_commands.json file other than restart vscode.

  • OS and Version: Linux 4.17.6-1-ARCH
  • VS Code Version: 1.25.1
  • C/C++ Extension Version: 0.17.7
  • Clang Version: 6.0.1

To Reproduce

Take example from #2305 and having everything set up, change in a line in CMakeLists.txt:

add_definitions("-D__weak=__attribute__((weak))" -DABC=\"asd\")

asd to qwe, rebuild, resave c_cpp_properties.json. Hover over ABC in lib.cxx in editor and it still shows asd. Restarting vscode helps with that.

Expected behavior

compile_commands.json being reloaded on change.

Additional context

I tried to debug the extension in order to investigate this issue and #2305 further and I found something interesting:

https://github.com/Microsoft/vscode-cpptools/blob/2cbc90d98b52349ad929e587c250803aee414f6f/Extension/src/LanguageServer/configurations.ts#L482

This conditional (second part fs.existsSync(c.compileCommands)) is not satisfied when compileCommands in c_cpp_properties.json have ${workspaceFolder} in the path. I believe it should not behave like that. Setting path to absolute does not fix reloading issue though.

Compile Commands Language Service bug fixed (release pending)

Most helpful comment

I'm able to repro the problem. Until it's fixed, using the Reload Window command would be the fastest way to get it to update.

All 5 comments

I'm able to repro the problem. Until it's fixed, using the Reload Window command would be the fastest way to get it to update.

This is an old bug and it seriously affects my workflow. Reloading the window isn't really a good option as I often use the integrated terminal, whose state is lost on reload. Any idea on what might cause this and if it can be fixed? It would be OK to provide a manual reload command IMO.

I believe @Jasdriel fixed this recently. PR #3938. It should be in the next release.

Related: #3864

Should be fixed with 0.25.0.

Was this page helpful?
0 / 5 - 0 ratings