{"id":26546,"date":"2020-09-14T18:30:33","date_gmt":"2020-09-14T18:30:33","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=26546"},"modified":"2020-09-23T16:48:45","modified_gmt":"2020-09-23T16:48:45","slug":"c-in-visual-studio-code-reaches-version-1-0","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/c-in-visual-studio-code-reaches-version-1-0\/","title":{"rendered":"C++ in Visual Studio Code reaches version 1.0!"},"content":{"rendered":"<p>We\u2019re excited to announce the first generally available release of the <strong>C++ extension for Visual Studio Code<\/strong>! Visual Studio Code is a free code editor that runs on Linux, macOS, and Windows, and is highly-customizable to make it exactly what you want it to be.<\/p>\n<p>The C++ extension brings a rich set of productivity features to VS Code for C++ developers, including IntelliSense smart code completion, debugging, refactoring, code navigation, and more! On top of that, these features are adaptable to various platforms, architectures and compilers, enabling all your cross-compiling and remote development scenarios.<\/p>\n<p>Throughout the years, our customers have helped shape the direction of C++ development in VS Code by asking for key features and reporting bugs. The version 1.0 of the C++ extension for Visual Studio Code delivers these features in high quality. You asked, we listened.<\/p>\n<h2>Editing<\/h2>\n<p>When it comes to editing, the C++ extension provides an abundance of productivity features to boost your coding efficiency. To name a few, the extension comes with:<\/p>\n<ul>\n<li>IntelliSense: code completion, parameter info, quick info, and member lists<\/li>\n<li>Code navigation: Find All References, Go to Definition\/Declaration, Peek Definition\/Declaration<\/li>\n<li>Refactoring support: Rename Symbol<\/li>\n<li>Code formatting<\/li>\n<li>Semantic colorization, which provides colorization to variables even when they are used outside of the scope in which they are declared<\/li>\n<li>Doxygen comment documentation<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-26577\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot.png\" alt=\"Screenshot of member list from C++ IntelliSense engine\" width=\"1604\" height=\"1090\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot.png 1604w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot-300x204.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot-1024x696.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot-768x522.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/editing-screenshot-1536x1044.png 1536w\" sizes=\"(max-width: 1604px) 100vw, 1604px\" \/><\/p>\n<h2>Debugging<\/h2>\n<p>Visual Studio Code\u2019s built-in debugger UI launches your C++ debugger of choice under the hood, creating an intuitive, yet customizable, debugging experience across Linux, macOS, and Windows. With the C++ extension\u2019s debugger, you can:<\/p>\n<ul>\n<li>Set breakpoints (conditional, unconditional, and function breakpoints)<\/li>\n<li>Set watch variables<\/li>\n<li>Step through your program<\/li>\n<li>Debug multi-threaded programs<\/li>\n<li>Debug a remote process<\/li>\n<li>And more!<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"size-full wp-image-26576 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot.png\" alt=\"Screenshot showing C++ debug session in VS Code\" width=\"2048\" height=\"1226\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot.png 2048w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot-300x180.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot-1024x613.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot-768x460.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2020\/09\/debug-screenshot-1536x920.png 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/p>\n<p>The C++ extension 1.0 also includes all our recent fixes to previous issues with the debugger, such as:<\/p>\n<ul>\n<li>Support for macOS Catalina (GitHub issue <a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/3829\">#3829<\/a>)<\/li>\n<li>Support for modifying conditional breakpoints while debugging (cppdbg) (GitHub issue <a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/2297\">#2297<\/a>)<\/li>\n<li>Watch local variables support for LLDB (GitHub issue <a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/1768\">#1768<\/a>)<\/li>\n<\/ul>\n<h2>What&#8217;s new in 1.0?<\/h2>\n<h3>Support for Linux on ARM and ARM64<\/h3>\n<p>We\u2019re excited to announce that version 1.0 of the C++ extension brings a first-class development experience for Linux on ARM and ARM64, complete with IntelliSense and remote build and debug support. You can now develop C++ applications on Raspberry Pi with VS Code and Remote-SSH!<\/p>\n<h3>Easy IntelliSense configuration<\/h3>\n<p>We know that configuring C++ IntelliSense hasn\u2019t always been easy. So, we\u2019ve created a <a href=\"https:\/\/aka.ms\/cpp-intelliSense\">video tutorial<\/a> to help you out. Get rid of your error squiggles in minutes!<\/p>\n<p><iframe title=\"Configure C++ IntelliSense in Visual Studio Code - Microsoft Channel 9 Video\" src=\"https:\/\/channel9.msdn.com\/Blogs\/One-Dev-Minute\/Configure-C-IntelliSense-in-Visual-Studio-Code\/player\" width=\"960\" height=\"540\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h3>Customizable code formatting<\/h3>\n<p>Version 1.0 of the C++ extension brings a new, rich set of C++ formatting settings. All C++ code formatting settings from the Visual Studio IDE are now supported in VS Code. What\u2019s more, the C++ extension has built-in <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/ide\/cpp-editorconfig-properties?view=vs-2019\">EditorConfig<\/a> support for all these new settings, giving you more control and flexibility with code formatting than ever before.<\/p>\n<h3>C++ extension pack<\/h3>\n<p>To make it as easy as possible to take full advantage of everything Visual Studio Code has to offer\u2014remote development, GitHub integration, first-class CMake support to name a few\u2014we\u2019ve created a <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools-extension-pack\">C++ Extension Pack<\/a> for you. The extension pack includes:<\/p>\n<ul>\n<li>C\/C++<\/li>\n<li>C\/C++ Themes<\/li>\n<li>CMake<\/li>\n<li>CMake Tools<\/li>\n<li>Remote Development Extension Pack<\/li>\n<li>GitHub Pull Requests and Issues<\/li>\n<li>Visual Studio Codespaces<\/li>\n<li>LiveShare Extension Pack<\/li>\n<li>Doxygen Documentation Generator<\/li>\n<li>Better C++ Syntax<\/li>\n<\/ul>\n<h3>Quality<\/h3>\n<p>If you haven&#8217;t tried Visual Studio Code with C++ in a while, it is time to give it another go. Our team has been hard at work for months fixing a myriad of reported issues and the C++ extension is now better for it. For example, we&#8217;ve addressed nine <a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues?q=is%3Aissue+is%3Aclosed+label%3Aperformance+label%3A%22fixed+%28release+pending%29%22+sort%3Aupdated-desc\">performance-related GitHub issues<\/a> in the past nine months. In fact, many VS Code extensions build off of the C++ extension&#8217;s high quality IntelliSense engine, such as <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=platformio.platformio-ide\">PlatformIO IDE<\/a>, a popular extension for embedded development in VS Code. <span style=\"font-size: 1rem;\">Version 1.0 of the C++ extension meets the high bar we, and our customers, have set for quality\u2014but we won\u2019t stop there. Performance will continue to be a prioritization for the C++ extension.<\/span><\/p>\n<h2>Give it a try<\/h2>\n<p>Install the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools-extension-pack\">C\/C++ Extension Pack<\/a>, check out the new <a href=\"https:\/\/aka.ms\/cpp-intelliSense\"><em>Configure C++ IntelliSense in Visual Studio Code <\/em>video tutorial<\/a>, and let us know what you think! You can also find Hello World build and debug tutorials for different compilers and platforms in the <a href=\"https:\/\/aka.ms\/cpphelloworld\">VS Code C++ documentation<\/a>.<\/p>\n<p>If you run into any issues, or have any suggestions, please report them in the\u00a0<a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/issues\">Issues section of our GitHub repository<\/a>. You can also join our Insiders program and get access to early builds of our release by going to\u00a0<strong>File\u00a0&gt;\u00a0Preferences\u00a0&gt;\u00a0Settings<\/strong>\u00a0and under\u00a0<strong>Extensions\u00a0&gt;\u00a0C\/C++,<\/strong>\u00a0change the \u201cC_Cpp: Update Channel\u201d to \u201cInsiders\u201d.<\/p>\n<p>We can be reached via the comments below or in email at\u00a0<a href=\"mailto:visualcpp@microsoft.com\">visualcpp@microsoft.com<\/a>. You can also find our team on Twitter at\u00a0<a href=\"https:\/\/twitter.com\/visualc\">@<\/a><a href=\"https:\/\/twitter.com\/visualc\">VisualC<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re excited to announce the first generally available release of the C++ extension for Visual Studio Code! Visual Studio Code is a free code editor that runs on Linux, macOS, and Windows, and is highly-customizable to make it exactly what you want it to be. The C++ extension brings a rich set of productivity features [&hellip;]<\/p>\n","protected":false},"author":27203,"featured_media":26617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-26546","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>We\u2019re excited to announce the first generally available release of the C++ extension for Visual Studio Code! Visual Studio Code is a free code editor that runs on Linux, macOS, and Windows, and is highly-customizable to make it exactly what you want it to be. The C++ extension brings a rich set of productivity features [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/26546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/27203"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=26546"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/26546\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/26617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=26546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=26546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=26546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}