AppCode 2021.2 Help

Terminal

AppCode includes an embedded terminal emulator for working with your command-line shell from inside the IDE. Use it to run Git commands, set file permissions, and perform other command-line tasks without switching to a dedicated terminal application.

Initially, the terminal emulator runs with your default system shell, but it supports many other shells, such as sh, bash, zsh, csh, and so on. For information about changing the shell, see Configure the terminal emulator.

Open the Terminal tool window

  • From the main menu, select View | Tool Windows | Terminal or press ⌥ F12.

Right-click a project item in the Project tool window and choose Open in terminal from the context menu. This way the terminal will start with the directory corresponding to the selected item.

Start a new session

  • Click the Add button on the toolbar to start a new session in a separate tab.

    New session in the terminal

To run multiple sessions inside a tab, right-click the tab and select Split Vertically or Split Horizontally in the context menu.

The Terminal saves tabs and sessions when you close the project or AppCode. It preserves tab names, the current working directory, and even the shell history.

To close a tab, click the Close button on the Terminal toolbar or right-click the tab and select Close Tab from the context menu.

Press ⌥ → and ⌥ ← to switch between active tabs. Alternatively, you can press ⌥ ↓ to see the list of all terminal tabs.

To rename a tab, right-click the tab and select Rename Session from the context menu.

To search for a certain string in a Terminal session, press ⌃ F. This searches all text in the session: the prompt, commands, and output.

Configure the terminal emulator

  • Press ⌃ ⌥ S to open the IDE settings and select Tools | Terminal.

Project Settings

These settings affect the terminal only for the current project:

Start directorySpecify the working directory where every new shell session should start. By default, it starts in the root directory of the current project.
Environment variablesSpecify custom environment variables for every new shell session.

Application Settings

These settings affect the terminal in any project that you open with the current AppCode instance.

Shell path

Specify the shell that will run by default. AppCode should automatically detect the default shell based on your environment. Here are some examples of different shells:

  • Bash: /bin/bash

  • Z shell: /bin/zsh

Tab nameSpecify the default name for new tabs.
Audible bellPlay the bell sound on various events.
Close session when it endsClose the current session when the corresponding process ends (for example, by kill).
Mouse reportingEnable the mouse pointer support in the embedded local terminal.
Copy to clipboard on selectionCopy text selected in the terminal to the clipboard.
Paste on middle mouse button clickPaste clipboard contents by clicking the middle mouse button.
Override IDE shortcutsUse shell-specific shortcuts instead of IDE shortcuts when the Terminal tool window is active.
Shell integration

Integrate the terminal with the system shell to properly keep track of your command history for sessions and load a custom config file with required environment variables.

Shell integration works for sh, bash, zsh, and fish shells.

Highlight hyperlinksHighlight HTTP links in the terminal and make them clickable.
Use Option as Meta keyUse the Option key as the Meta key.
Run Commands using IDE

Detect and highlight commands that can be used as IDE features instead of running them in the terminal and reading console output.

When enabled, instead of pressing , which runs the command in the terminal, press Ctrl+Enter to open the corresponding GUI element. For more information, see Run IDE features from the terminal.

Cursor shapeSelect the shape of the cursor: block, underline, or vertical.

The embedded terminal emulator also inherits the following IDE settings:

  • On the Keymap page, you can configure the copy ⌃ C and paste ⌃ V shortcuts.

  • On the Editor | General | Appearance page, you can configure blinking frequency for the caret. The Terminal does not inherit the Use block caret option because there is a separate option for that: Cursor shape.

  • On the Editor | Color Scheme | Console Font page, you can configure line spacing and fonts.

  • On the Editor | Color Scheme | Console Colors page, you can configure font colors.

  • On the Editor | Color Scheme | General page, you can configure the selection foreground and background colors.

Run IDE features from the terminal

Instead of running a specific command in the integrated terminal and reading console output, you can use the relevant IDE feature, like a tool window or a dialog that implements this functionality. For example, the diff viewer actually runs the diff command in the system shell to produce results. Another example is the Log tab in the Git tool window, which is based on the output of the git log command.

Open the Log tab of the Git tool window from the terminal

  1. Type a supported command in the terminal and notice how it is highlighted.

    Smart command execution highlighting for git log in the terminal
  2. Instead of pressing , which runs the command in the terminal, press Ctrl+Enter to open the corresponding GUI element. In this example, it will open the Log tab of the Git tool window.

This feature also works with most of the commands recognized by Run Anything (press Ctrl twice), depending on what plugins you have installed. To run a highlighted command in debug mode (use the Debug tool window instead of Run) press Ctrl+Shift+Enter.

If you want to disable this feature, click The Show Options Menu button on the title bar of the Terminal window and clear the Run Commands using IDE option.

Last modified: 19 October 2021