{"id":31512,"date":"2023-01-25T20:44:43","date_gmt":"2023-01-25T20:44:43","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=31512"},"modified":"2023-01-25T20:44:43","modified_gmt":"2023-01-25T20:44:43","slug":"debug-linux-console-apps-in-visual-studios-integrated-terminal","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/debug-linux-console-apps-in-visual-studios-integrated-terminal\/","title":{"rendered":"Debug Linux Console apps in Visual Studio\u2019s Integrated Terminal"},"content":{"rendered":"<p><span data-contrast=\"auto\">We have now added the capability for users to debug their C++ Linux Console applications from the Integrated Terminal in <\/span><a href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\"><span data-contrast=\"none\">Visual Studio 2022 17.5 Preview 3<\/span><\/a><span data-contrast=\"auto\">! To learn more about what the Integrated Terminal does and how to work with it in Visual Studio, please see <\/span><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/integrated-terminal-in-visual-studio-new-ssh-integration-for-linux-targeting\/\"><span data-contrast=\"none\">this C++ feature announcement blog post<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Now, using the Linux Console embedded in the Integrated Terminal, Visual Studio supports a fully functional terminal-like experience when debugging Linux applications. This new Linux Console emulates an <\/span><a href=\"https:\/\/xtermjs.org\/\"><span data-contrast=\"none\">xterm<\/span><\/a><span data-contrast=\"auto\"> and can support application screen manipulation; for example, writing screen formatting control characters to stdout or using <\/span><a href=\"https:\/\/invisible-island.net\/ncurses\/announce.html\"><span data-contrast=\"none\">the ncurses library<\/span><\/a><span data-contrast=\"auto\">. Additionally, there is support for <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/console\/console-virtual-terminal-sequences\"><span data-contrast=\"none\">vt sequences<\/span><\/a><span data-contrast=\"auto\"> and keyboard shortcuts such as <code>Ctrl+C<\/code> application interruption.<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/LinuxConsole.gif\"><img decoding=\"async\" class=\"alignnone wp-image-31555\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/LinuxConsole.gif\" alt=\"Linux Console allows input, output, and supports color\" width=\"1257\" height=\"796\" \/><\/a><\/span><\/p>\n<p><span class=\"TextRun SCXW100928295 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW100928295 BCX8\">The Linux Console <\/span><span class=\"NormalTextRun SCXW100928295 BCX8\">will automatically pop up when you start a debugging session <\/span><span class=\"NormalTextRun SCXW100928295 BCX8\">on <\/span><span class=\"NormalTextRun SCXW100928295 BCX8\">your Linux Console application<\/span><span class=\"NormalTextRun SCXW100928295 BCX8\"> (press F5)<\/span><span class=\"NormalTextRun SCXW100928295 BCX8\">.<\/span><\/span><span class=\"EOP SCXW100928295 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <span class=\"TextRun SCXW100928295 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW100928295 BCX8\">You can also open it manually by selecting it from the \u201cDebug\u201d dropdown <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW100928295 BCX8\">menu.<\/span><\/span><\/span><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/Screenshot-2023-01-23-162318.png\"><img decoding=\"async\" class=\" wp-image-31514 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/Screenshot-2023-01-23-162318.png\" alt=\"Debug Dropdown to open Linux Console \" width=\"267\" height=\"334\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/Screenshot-2023-01-23-162318.png 394w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/01\/Screenshot-2023-01-23-162318-240x300.png 240w\" sizes=\"(max-width: 267px) 100vw, 267px\" \/><\/a><\/p>\n<h4><span class=\"TextRun SCXW169351363 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart CommentHighlightPipeRest CommentHighlightRest SCXW169351363 BCX8\">Send <\/span><span class=\"NormalTextRun CommentHighlightPipeRest SCXW169351363 BCX8\">us your feedback!<\/span><\/span><span class=\"EOP SCXW169351363 BCX8\" data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"none\">We hope this helps you debug your C++ Linux Console applications. Download the latest preview version of Visual Studio and give the latest Linux Console in Integrated Terminal a try.\u202fLet us know\u202fyour thoughts\u202fand whether there is anything\u202fyou\u2019d\u202flike to see.\u202f\u202fWe are\u202fvery interested\u202fin your feedback to continue to improve this experience. The comments below are open, or you can find us on Twitter (<\/span><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">@VisualC<\/span><\/a><span data-contrast=\"none\">) or via email at\u202f<\/span><a href=\"mailto:visualcpp@microsoft.com\"><span data-contrast=\"none\">visualcpp@microsoft.com<\/span><\/a><span data-contrast=\"none\">.\u202fTo open a bug, please see\u202f<\/span><a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=problem%22%20\\t%20%22_blank\"><span data-contrast=\"none\">Visual Studio Feedback.<\/span><\/a><\/p>\n<p><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>We have now added the capability for users to debug their C++ Linux Console applications from the Integrated Terminal in Visual Studio 2022 17.5 Preview 3! To learn more about what the Integrated Terminal does and how to work with it in Visual Studio, please see this C++ feature announcement blog post.\u00a0 Now, using the [&hellip;]<\/p>\n","protected":false},"author":85413,"featured_media":31623,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,279],"tags":[],"class_list":["post-31512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-linux"],"acf":[],"blog_post_summary":"<p>We have now added the capability for users to debug their C++ Linux Console applications from the Integrated Terminal in Visual Studio 2022 17.5 Preview 3! To learn more about what the Integrated Terminal does and how to work with it in Visual Studio, please see this C++ feature announcement blog post.\u00a0 Now, using the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/31512","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\/85413"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=31512"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/31512\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/31623"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=31512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=31512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=31512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}