What does it mean to "configure IntelliSense"? #478
-
What is the extension actually doing when it "configures" the project when the build configuration is changed? Is this documented anywhere? I'm not noticing any detectable change in the environment or settings when this action runs, so I'm wondering
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
@NameOfTheDragon, during the configure phase, the Makefile Tools extension is reading through a build log and parses compiler commands from which it extracts includes, defines, c/c++ standard and other useful constructs that it passes over to the CppTools extension (which is the IntelliSense brain in VSCode). Makefile Tools also parses for all the targets in the makefile and for linker commands to identify what binaries are built and eventually how are they run, to offer all these in various UI quickPick elements in the left side bar in VSCode. The build log that is read to parse all this is either given via "makefile.buildLog" or the extension invokes "make --dry-run" automatically, which lists all the steps "make" would go through during a real build but "--dry-run" ensures that nothing runs and the state of your project is not altered. Do you have IntelliSense red squiggles? Includes not found, defines not resolved, any other c/c++ syntax complaints in the "Problems" tab? Conflicts are possible if the Makefile Tools extension is not seen as IntelliSense configuration provider. To make sure, you can use the setting "C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools". Although when that is not defined at all, we detect automatically in the presence of a makefile. Do you happen to also have CMake build system files within the workspace? Or do you specify other providers or do you set compileCommands anywhere? |
Beta Was this translation helpful? Give feedback.
-
@NameOfTheDragon, we are cleaning up our tickets in the repository and closing the ones which have been addressed or which are too old without any recent feedback. Let us know if you need more assistance or clarity with this question. I plan to close it. |
Beta Was this translation helpful? Give feedback.
@NameOfTheDragon, during the configure phase, the Makefile Tools extension is reading through a build log and parses compiler commands from which it extracts includes, defines, c/c++ standard and other useful constructs that it passes over to the CppTools extension (which is the IntelliSense brain in VSCode). Makefile Tools also parses for all the targets in the makefile and for linker commands to identify what binaries are built and eventually how are they run, to offer all these in various UI quickPick elements in the left side bar in VSCode. The build log that is read to parse all this is either given via "makefile.buildLog" or the extension invokes "make --dry-run" automatically, whic…