{"id":974,"date":"2025-09-09T20:45:35","date_gmt":"2025-09-10T03:45:35","guid":{"rendered":"https:\/\/sysprogs.com\/tutorials\/?p=974"},"modified":"2025-09-09T20:56:01","modified_gmt":"2025-09-10T03:56:01","slug":"smart-terminal","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/CodeVROOM\/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;Terminal<\/strong>. It is also available in <a href=\"https:\/\/visualgdb.com\/documentation\/terminal\/\">VisualGDB<\/a> starting from version 6.1:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-975\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term.png\" alt=\"\" width=\"1359\" height=\"868\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term.png 1359w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term-300x192.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term-1024x654.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/term-768x491.png 768w\" sizes=\"(max-width: 1359px) 100vw, 1359px\" \/><\/a><\/p>\n<p>Smart Terminal is included in all editions of CodeVROOM, including the free one.<\/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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/controls.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-976\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/controls.png\" alt=\"\" width=\"1009\" height=\"328\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/controls.png 1009w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/controls-300x98.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/controls-768x250.png 768w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><\/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.<\/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 by using the <strong>Edit Environment Presets<\/strong> link:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-977\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets.png\" alt=\"\" width=\"1359\" height=\"868\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets.png 1359w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets-300x192.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets-1024x654.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/presets-768x491.png 768w\" sizes=\"(max-width: 1359px) 100vw, 1359px\" \/><\/a><\/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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/history.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-978\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/history.png\" alt=\"\" width=\"1003\" height=\"332\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/history.png 1003w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/history-300x99.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/history-768x254.png 768w\" sizes=\"(max-width: 1003px) 100vw, 1003px\" \/><\/a><br \/>\nSmart 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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/suggestions.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-979\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/suggestions.png\" alt=\"\" width=\"1006\" height=\"330\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/suggestions.png 1006w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/suggestions-300x98.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/suggestions-768x252.png 768w\" sizes=\"(max-width: 1006px) 100vw, 1006px\" \/><\/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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/filepanel.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-980\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/filepanel.png\" alt=\"\" width=\"1005\" height=\"330\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/filepanel.png 1005w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/filepanel-300x99.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/filepanel-768x252.png 768w\" sizes=\"(max-width: 1005px) 100vw, 1005px\" \/><\/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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-982\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd.png\" alt=\"\" width=\"1360\" height=\"867\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd.png 1360w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd-300x191.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd-1024x653.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/editcmd-768x490.png 768w\" sizes=\"(max-width: 1360px) 100vw, 1360px\" \/><\/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:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-981\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results.png\" alt=\"\" width=\"1031\" height=\"335\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results.png 1031w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results-300x97.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results-1024x333.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/results-768x250.png 768w\" sizes=\"(max-width: 1031px) 100vw, 1031px\" \/><\/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<h2>Build Command Integration<\/h2>\n<p>The easiest way to get CodeVROOM to build your projects is to first run the build command line in the terminal, and then use the &#8220;Import to build commands&#8221; command:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-985\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd.png\" alt=\"\" width=\"1357\" height=\"868\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd.png 1357w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd-300x192.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd-1024x655.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/buildcmd-768x491.png 768w\" sizes=\"(max-width: 1357px) 100vw, 1357px\" \/><\/a>It will import the build command to the project\/folder properties (including any environment you configured via the terminal), you will be able to build the project later with just one hotkey (Ctrl-Shift-B on Windows, Cmd+B on Mac by default).<\/p>\n<p>CodeVROOM can recognize error\/warning messages from commonly used tools, and displays them in the Errors window, and directly in the code:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-986\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error.png\" alt=\"\" width=\"1359\" height=\"868\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error.png 1359w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error-300x192.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error-1024x654.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/error-768x491.png 768w\" sizes=\"(max-width: 1359px) 100vw, 1359px\" \/><\/a>Note that if any terminal command produces any recognized error messages, CodeVROOM will show them in the summary line, allowing you to import them into the error list in one click:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/importerrors.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-987\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/importerrors.png\" alt=\"\" width=\"1006\" height=\"332\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/importerrors.png 1006w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/importerrors-300x99.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/09\/importerrors-768x253.png 768w\" sizes=\"(max-width: 1006px) 100vw, 1006px\" \/><\/a><\/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":[67],"tags":[],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/974"}],"collection":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/comments?post=974"}],"version-history":[{"count":3,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"predecessor-version":[{"id":988,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/974\/revisions\/988"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}