Visual Studio Code C++ extension: May 2020 update

Julia Reid

The May 2020 update of the Visual Studio Code C++ extension is now available. This latest release offers brand new features—ARM and ARM64 IntelliSense modes and C++ language-specific code folding—along with a bunch of enhancements and bug fixes. To find out more about all the changes, check out our release notes on GitHub.

ARM and ARM64 IntelliSense modes

With the May 2020 update, you can configure the C++ extension to provide proper IntelliSense when cross-compiling for ARM and ARM64. This means you’re compiling for a different architecture than your host development machine. All you need to do is set your compiler path and IntelliSense mode.

Your compiler path and IntelliSense mode configuration are stored in your project’s c_cpp_properties.json file. Edit these settings by selecting C/C++: Edit Configurations (UI) from the Command Palette.

screenshot that shows searching for C++ settings in the command palette

Under Compiler path, enter the path to the compiler compatible with your target architecture. For example, “/usr/bin/arm-none-eabi-g++” if compiling for ARM from a Linux machine.

Screenshot of compiler path C++ property

Then set IntelliSense mode to the architecture-specific variant of the compiler you are using. The May 2020 update provides the following new IntelliSense modes: clang-arm, clang-arm64, gcc-arm, gcc-arm64, msvc-arm, and msvc-arm64. For example, select “gcc-arm” if you’re using GCC to compile for ARM.

Screenshot showing IntelliSense modes in drop down

Now you’re all set to enjoy IntelliSense while cross-compiling for ARM! To learn more, see Configure IntelliSense for cross-compiling.

Code folding

The May 2020 update provides C++ language-specific code folding, enabling you to easily collapse and expand blocks of code. The code folding provided by the C++ extension addresses the buggy behavior of the previous non-language-specific code folding experience. Specifically, code folding now works as expected for #if statements, #include statements, and block comments.

GIF of expanding and collapsing code blocks

What do you think?

Download the C++ extension for Visual Studio Code today, give it a try, and let us know what you think. If you run into any issues, or have any suggestions, please report them in the Issues section of our GitHub repository. You can also join our Insiders program and get access to early builds of our release by going to File > Preferences > Settings and under Extensions > C/C++, change the “C_Cpp: Update Channel” to “Insiders”.

We can be reached via the comments below or in email at visualcpp@microsoft.com. You can also find our team on Twitter at @VisualC.

5 comments

Discussion is closed. Login to edit/delete existing comments.

  • Ram Fattah 0

    Awesome!!

  • Cristina Vasco 0

    Thanks Julia, the code folding will be super helpful!

  • Branimir Ricko 0

    Niceee! If folding works as expected, I’ll kiss someone

  • Tal Abir 0

    When will call hierarchy be implemented?

    Thanks,
    Tal.

    • Julia ReidMicrosoft employee 0

      Hi Tal,

      Call hierarchy is high priority for us, but it requires some integration work with Visual Studio. We’re starting the integration work this year but don’t have a set date yet for call hierarchy. You can check out the GitHub issue for updates, we’ll assign a milestone to it once we have a better idea which release it will be included in.

      Thanks,
      Julia

Feedback usabilla icon