Today we are excited to announce the March 2018 update to the Visual Studio Code C/C++ extension! This update includes improved auto-complete for local and global scopes and a simplified configuration process for system includes and defines, enabling a better out-of-box IntelliSense experience. You can find the full list of changes in the release notes.
We’d like to thank everyone who tried our Insiders builds earlier this month and sent us feedback! Fixes for the issues you reported and feature suggestions you told us about helped shape the final release the way it is today 😊. If you are not yet an insider but are interested, we’d love for you to join the VS Code C/C++ Insiders program.
Auto-complete for local and global scopes
While this feature is not completely new, IntelliSense now provides a semantic-aware list of auto-complete suggestions when you type in local and global variables and functions. Compared with the previous approach, the new auto-complete experience gives you a shorter and more relevant list of suggestions, making it easier to write C/C++ code.
System includes and defines automatically retrieved from the compiler
IntelliSense now automatically retrieves system includes and defines from GCC/Clang-based compilers, eliminating the need for manual configuration in the “includePath” and “defines” settings. On Mac and Linux, the IntelliSense engine automatically selects a compiler as the default by searching for the installed compilers on the system. You can check which compiler is being used in the new “compilerPath” setting in the c_cpp_properties.json file, and change the value if needed. The “compilerPath” setting also accepts compiler arguments that affect the system defines returned.
In addition, the new “cStandard” and “cppStandard” settings allow setting language standards explicitly for IntelliSense.
Force IntelliSense to process arbitrary headers
If you wish IntelliSense to process headers that are not explicitly listed in #include statements, you can now use the new “forcedInclude” setting to specify them. The IntelliSense engine will first process these headers before it looks at #includes.
Tell us what you think
Download the C/C++ extension for Visual Studio Code, try it out, and let us know what you think. File issues and suggestions on GitHub. If you haven’t already provided us feedback, please take this quick survey to help shape this extension for your needs. You can also find us on Twitter (@VisualC).