{"id":11085,"date":"2016-10-24T14:44:07","date_gmt":"2016-10-24T14:44:07","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?p=11085"},"modified":"2021-02-09T01:37:53","modified_gmt":"2021-02-09T01:37:53","slug":"building-your-c-application-with-visual-studio-code","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/building-your-c-application-with-visual-studio-code\/","title":{"rendered":"Building your C++ application with Visual Studio Code"},"content":{"rendered":"<p aria-level=\"2\"><span data-contrast=\"auto\">Did you know that you can build and debug C++ projects in Visual Studio Code with your compiler<\/span><span data-contrast=\"auto\">\u00a0and<\/span><span data-contrast=\"auto\">\u00a0debugger<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">of choice?\u00a0<\/span><span data-contrast=\"auto\">Although\u00a0<\/span><span data-contrast=\"auto\">VS<\/span><span data-contrast=\"auto\">\u00a0Code is a light-weight editor,\u00a0<\/span><span data-contrast=\"auto\">you can\u00a0<\/span><span data-contrast=\"auto\">set it up<\/span><span data-contrast=\"auto\">\u00a0to\u00a0<\/span><span data-contrast=\"auto\">resemble<\/span><span data-contrast=\"auto\">\u00a0a<\/span><span data-contrast=\"auto\">\u00a0full\u00a0<\/span><span data-contrast=\"auto\">IDE<\/span><span data-contrast=\"auto\">, customizing\u00a0<\/span><span data-contrast=\"auto\">IntelliSense, build, and debug configurations\u00a0<\/span><span data-contrast=\"auto\">for<\/span><span data-contrast=\"auto\">\u00a0your environment<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">There are two recommended approaches for building a C++ application in VS Code:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Segoe UI\" data-listid=\"4\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Build with\u00a0<\/span><span data-contrast=\"auto\">VS Code tasks\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Segoe UI\" data-listid=\"4\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Build with\u00a0<\/span><span data-contrast=\"auto\">the CMake Tools extension<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">If you<\/span><span data-contrast=\"auto\">r project uses CMake, we recommend\u00a0<\/span><span data-contrast=\"auto\">the\u00a0<\/span><span data-contrast=\"auto\">CMake Tools\u00a0<\/span><span data-contrast=\"auto\">extension\u00a0<\/span><span data-contrast=\"auto\">for\u00a0<\/span><span data-contrast=\"auto\">viewing, building, and debugging CMake targets. If you\u00a0<\/span><span data-contrast=\"auto\">aren\u2019t<\/span><span data-contrast=\"auto\">\u00a0using CMake, you can define\u00a0<\/span><span data-contrast=\"auto\">VS Code\u00a0<\/span><span data-contrast=\"auto\">build tasks in\u00a0<\/span><span data-contrast=\"auto\">tasks.json<\/span><span data-contrast=\"auto\">, which invoke your compiler of choice.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\">Build with VS Code\u00a0tasks<\/h3>\n<p><span data-contrast=\"auto\">Watch<\/span><span data-contrast=\"auto\"> this three-minute video tutorial <\/span><span data-contrast=\"auto\">t<\/span><span data-contrast=\"auto\">o learn how to create<\/span><span data-contrast=\"auto\">\u00a0a\u00a0<\/span><span data-contrast=\"auto\">C++\u00a0<\/span><span data-contrast=\"auto\">build task in VS Code<\/span><span data-contrast=\"auto\">!<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">This<\/span><span data-contrast=\"auto\">\u00a0video<\/span> <span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">hows how to invoke Clang on macOS,\u00a0<\/span><span data-contrast=\"auto\">and the\u00a0<\/span><span data-contrast=\"auto\">Hello<\/span><span data-contrast=\"auto\">\u00a0World document tutorials\u00a0<\/span><span data-contrast=\"auto\">below call out the specifics for other platforms.<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <iframe title=\"Build a C++ project in VS Code - Microsoft Channel 9 Video\" src=\"https:\/\/channel9.msdn.com\/Blogs\/One-Dev-Minute\/Build-a-C-project-in-VS-Code\/player\" width=\"960\" height=\"540\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/span><\/p>\n<h5>Hello World tutorials<\/h5>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/config-linux\"><span data-contrast=\"none\">GCC<\/span><span data-contrast=\"none\">\u00a0on Linux<\/span><\/a><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/config-wsl\"><span data-contrast=\"none\">GCC on Windows Subsystem\u00a0<\/span><span data-contrast=\"none\">for<\/span><span data-contrast=\"none\">\u00a0Linux<\/span><\/a><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/config-mingw\"><span data-contrast=\"none\">GCC on Windows<\/span><\/a><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/config-msvc\"><span data-contrast=\"none\">Microsoft C++ on Windows<\/span><\/a><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/config-clang-mac\"><span data-contrast=\"none\">Clang on macOS<\/span><\/a><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3 aria-level=\"2\">Build with the CMake Tools extension<\/h3>\n<p><span data-contrast=\"auto\">If\u00a0<\/span><span data-contrast=\"auto\">you build your project with CMake, you should use the CMake Tools extension to\u00a0<\/span><span data-contrast=\"auto\">seamlessly<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">view, build, and debug CMake targets in VS Code.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">Check out this H<\/span><span data-contrast=\"auto\">e<\/span><span data-contrast=\"auto\">llo World\u00a0<\/span><span data-contrast=\"auto\">tutorial<\/span><span data-contrast=\"auto\">\u00a0for<\/span><span data-contrast=\"auto\">\u00a0<\/span><a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/cmake-linux#:~:text=Get%20started%20with%20CMake%20Tools%20on%20Linux%20CMake,tool%20files%20specific%20to%20your%20compiler%20and%20platform.\"><span data-contrast=\"none\">building a CMake project with CMake Tools<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\">Remote building<span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">If\u00a0<\/span><span data-contrast=\"auto\">you\u2019d<\/span><span data-contrast=\"auto\">\u00a0like to build<\/span><span data-contrast=\"auto\">\u00a0a C++ application remotely<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">VS Code\u00a0<\/span><span data-contrast=\"auto\">provides<\/span><span data-contrast=\"auto\">\u00a0a ton of options, including remote-SSH, containers,\u00a0<\/span><span data-contrast=\"auto\">WSL<\/span><span data-contrast=\"auto\">, and\u00a0<\/span><span data-contrast=\"auto\">Codespaces<\/span><span data-contrast=\"auto\">. Ch<\/span><span data-contrast=\"auto\">eck out this\u00a0<\/span><a href=\"https:\/\/code.visualstudio.com\/docs\/remote\/remote-overview\"><span data-contrast=\"none\">overview of remote development in VS Code<\/span><\/a><span data-contrast=\"auto\">\u00a0to learn more!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\">What do you think?<\/h3>\n<p><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\"><span data-contrast=\"none\">Download the C++ extension for Visual Studio Code<\/span><\/a><span data-contrast=\"none\">\u202ftoday,\u00a0<\/span><span data-contrast=\"none\">give it a try<\/span><span data-contrast=\"none\">, and let us know what you think. If you run into any issues, or have any suggestions, please report them in the\u202f<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/issues\"><span data-contrast=\"none\">Issues section of our GitHub repository<\/span><\/a><span data-contrast=\"none\">.\u00a0<\/span><span data-contrast=\"none\">You can also join our Insiders program and get access to early builds of our release by going to\u202f<\/span><b><span data-contrast=\"none\">File<\/span><\/b><span data-contrast=\"none\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"none\">Preferences<\/span><\/b><span data-contrast=\"none\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"none\">Settings<\/span><\/b><span data-contrast=\"none\">\u202fand under\u202f<\/span><b><span data-contrast=\"none\">Extensions<\/span><\/b><span data-contrast=\"none\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"none\">C\/C++,<\/span><\/b><span data-contrast=\"none\">\u202fchange the \u201c<\/span><b><span data-contrast=\"none\">C_Cpp<\/span><\/b><b><span data-contrast=\"none\">: Update Channel<\/span><\/b><span data-contrast=\"none\">\u201d to \u201c<\/span><b><span data-contrast=\"none\">Insiders<\/span><\/b><span data-contrast=\"none\">\u201d.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">We can be reached via the comments below or in email at\u202f<\/span><a href=\"mailto:visualcpp@microsoft.com\"><span data-contrast=\"none\">visualcpp@microsoft.com<\/span><\/a><span data-contrast=\"none\">. You can also find our team on Twitter at\u202f<\/span><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">@<\/span><\/a><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">VisualC<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Did you know that you can build and debug C++ projects in Visual Studio Code with your compiler\u00a0and\u00a0debugger\u00a0of choice?\u00a0Although\u00a0VS\u00a0Code is a light-weight editor,\u00a0you can\u00a0set it up\u00a0to\u00a0resemble\u00a0a\u00a0full\u00a0IDE, customizing\u00a0IntelliSense, build, and debug configurations\u00a0for\u00a0your environment.\u00a0 There are two recommended approaches for building a C++ application in VS Code:\u00a0\u00a0 Build with\u00a0VS Code tasks\u00a0\u00a0 Build with\u00a0the CMake Tools extension\u00a0 If [&hellip;]<\/p>\n","protected":false},"author":27203,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[266,275,277],"tags":[350],"class_list":["post-11085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cmake","category-visual-studio-code","category-writing-code","tag-visual-studio-code"],"acf":[],"blog_post_summary":"<p>Did you know that you can build and debug C++ projects in Visual Studio Code with your compiler\u00a0and\u00a0debugger\u00a0of choice?\u00a0Although\u00a0VS\u00a0Code is a light-weight editor,\u00a0you can\u00a0set it up\u00a0to\u00a0resemble\u00a0a\u00a0full\u00a0IDE, customizing\u00a0IntelliSense, build, and debug configurations\u00a0for\u00a0your environment.\u00a0 There are two recommended approaches for building a C++ application in VS Code:\u00a0\u00a0 Build with\u00a0VS Code tasks\u00a0\u00a0 Build with\u00a0the CMake Tools extension\u00a0 If [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/11085","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=11085"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/11085\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=11085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=11085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=11085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}