{"id":9016,"date":"2025-09-09T19:21:47","date_gmt":"2025-09-10T02:21:47","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=9016"},"modified":"2025-09-09T20:46:36","modified_gmt":"2025-09-10T03:46:36","slug":"smart-terminal","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/documentation\/terminal\/","title":{"rendered":"Smart Terminal"},"content":{"rendered":"<p>Smart Terminal is a special version of the terminal window, that is optimized for running various development-related commands. You can open it via <strong>View-&gt;VisualGDB Smart Terminal<\/strong>. It is also available as a <a href=\"https:\/\/sysprogs.com\/CodeVROOM\/documentation\/terminal\">part of CodeVROOM<\/a> &#8211; our new cross-platform IDE, that is still early in development.<\/p>\n<p><a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9017\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview.png\" alt=\"\" width=\"1409\" height=\"901\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview.png 1409w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview-300x192.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview-1024x655.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/overview-768x491.png 768w\" sizes=\"(max-width: 1409px) 100vw, 1409px\" \/><\/a>Smart Terminal is supported by all editions of VisualGDB.<\/p>\n<h2>Controls<\/h2>\n<p>Smart Terminal keeps a detailed track of each command you run with it, that allows it to provide various usability shortcuts, such as graphical environment editor, or favorite directory lists:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9018\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls.png\" alt=\"\" width=\"1031\" height=\"335\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls.png 1031w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls-300x97.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls-1024x333.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/controls-768x250.png 768w\" sizes=\"(max-width: 1031px) 100vw, 1031px\" \/><\/a>Here is a list of the common controls:<\/p>\n<ul>\n<li>Directory navigation buttons <strong>(1)<\/strong>\u00a0provide history of visited directories. You can go back\/forward or up one level. You can also hover over the components of the current path (bottom left corner) and click on them to go to that level.<\/li>\n<li>Environment selector <strong>(2)<\/strong> allows switching between <a href=\"#presets\">environment presets<\/a>, or editing them in-place. Smart Terminal automatically picks up the build command environments (e.g. CMake build with ESP-IDF variables) for common project types, so you can use it to run modified versions of build commands.<\/li>\n<li>Directory history <strong>(3)<\/strong> and command history drop-down <strong>(4)\u00a0<\/strong>allow quickly <a href=\"#history\">re-running<\/a> previously used commands. You can also mark commands\/directories as favorite, pinning them on top of the list.<\/li>\n<li>Document shortcuts <strong>(5)<\/strong> allow quickly going to the directory of the current document (you can always go back via the navigation buttons), or pasting relative path to it into the command line editor.<\/li>\n<li>Aggressive completion mode button <strong>(6)<\/strong> controls how the <a href=\"#suggestions\">suggestion popups<\/a> are shown. In non-aggressive mode, the suggestions are only shown when you press TAB. In aggressive mode, they are always shown as you type the command, but only committed when you press TAB.<\/li>\n<li>Clear Screen button <strong>(7)<\/strong> clears the terminal window, preserving all histories.<\/li>\n<li>File List button <strong>(8)<\/strong> toggles the <a href=\"#filelist\">file list panel<\/a> on the right side of the terminal.<\/li>\n<li>Command line edit button <strong>(9)<\/strong> opens the <a href=\"#cmdline\">command line editor<\/a> in a separate window<\/li>\n<\/ul>\n<h2><a id=\"presets\"><\/a>Environment Presets<\/h2>\n<p>You can edit environment presets associated with a project via VisualGDB Project Properties-&gt; Smart Terminal Environment, or by using the <strong>Edit Environment Presets<\/strong> link :<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9020\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env.png\" alt=\"\" width=\"1409\" height=\"901\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env.png 1409w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env-300x192.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env-1024x655.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/env-768x491.png 768w\" sizes=\"(max-width: 1409px) 100vw, 1409px\" \/><\/a>Smart Terminal automatically picks up the common environments (e.g. CMake build environment) from common project types, and shows them in the environment selector.<\/p>\n<h2><a id=\"history\"><\/a>Directory and Command History<\/h2>\n<p>Smart Terminal maintains separate directory and command history for every project. You can browse the history using the drop-down buttons on top of the window:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9021\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup.png\" alt=\"\" width=\"1033\" height=\"341\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup.png 1033w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup-300x99.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup-1024x338.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/dirpopup-768x254.png 768w\" sizes=\"(max-width: 1033px) 100vw, 1033px\" \/><\/a>Smart Terminal automatically pulls common directories and commands (e.g. main build directory) from common project types. If the project is targeting a remote machine, the directory list will show both remote and local directories.<\/p>\n<h2><a id=\"suggestions\"><\/a>Suggestion Popups<\/h2>\n<p>Smart Terminal knows the precise context of the command you are entering, so it can provide meaningful suggestions (e.g. search all PATH directories for executables). Normally, suggestions are shown when you press TAB, but you can also activate the aggressive suggestion mode in the toolbar, that will show them as soon as you type a character:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9023\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion.png\" alt=\"\" width=\"1036\" height=\"345\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion.png 1036w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion-300x100.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion-1024x341.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/suggestion-768x256.png 768w\" sizes=\"(max-width: 1036px) 100vw, 1036px\" \/><\/a><\/p>\n<h2><a id=\"filelist\"><\/a>Integrated File List<\/h2>\n<p>You can quickly view the files in the current directory by enabling the <strong>file list<\/strong> panel:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9024\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list.png\" alt=\"\" width=\"1030\" height=\"340\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list.png 1030w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list-300x99.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list-1024x338.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/list-768x254.png 768w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/a>Double-clicking on directories in the list will automatically go to that directory. Double-clicking on a file will copy it into the command line. You can also use the context menu to open files in the editor, or copy them to the command line.<\/p>\n<p>You can use <strong>Alt+&lt;File Name&gt;<\/strong> to filter the files in the panel when editing the command line, or browsing the file list. Pressing Escape will return back to the command line editor, so you can use it for fast navigation between directories.<\/p>\n<h2><a id=\"cmdline\"><\/a>Command Line Editor<\/h2>\n<p>Many development tools use rather long command lines, that are hard to edit in a regular terminal. Smart Terminal addresses it via a separate Edit Command Line button:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9026\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline.png\" alt=\"\" width=\"1032\" height=\"423\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline.png 1032w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline-300x123.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline-1024x420.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdline-768x315.png 768w\" sizes=\"(max-width: 1032px) 100vw, 1032px\" \/><\/a>It shows the entire command line in a separate window, with every argument on a separate line.<\/p>\n<h2>Viewing Command Results<\/h2>\n<p>Smart Terminal displays the run time and exit code of every command it runs:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9027\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult.png\" alt=\"\" width=\"1030\" height=\"343\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult.png 1030w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult-300x100.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult-1024x341.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/cmdresult-768x256.png 768w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/a>You can use the drop-down button at the end of the summary line to view the command output in a separate editor tab, copy the original command line back into the command editor, or add the command to the favorite command list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Smart Terminal is a special version of the terminal window, that is optimized for running various development-related commands. You can<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[227],"tags":[251],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/9016"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=9016"}],"version-history":[{"count":7,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/9016\/revisions"}],"predecessor-version":[{"id":9052,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/9016\/revisions\/9052"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=9016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=9016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=9016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}