AppCode 2020.3 Help

User interface

Set up Xcode-like behavior in AppCode

When you first start AppCode, select the Xcode option on the Select theme and behavior screen.

Select the UI theme

The following settings will be adjusted automatically:

  • Xcode keymap with shortcuts carefully tuned to match macOS and Xcode shortcuts as closely as possible.

  • Editor color scheme tuned to match the Default Xcode editor theme.

  • Xcode Order and Navigate with Single Click options turned on for the Project tool window.

  • Xcode-like breakpoint behavior: Drag to the editor or click with middle mouse button is selected in Preferences | Build, Execution, Deployment | Debugger | Remove breakpoint.

  • Single tab for the editor: None is selected in Preferences | Editor | General | Editor Tabs | Appearance | Tab placement.

  • Case-insensitive code completion: Match case is deselected in Preferences | Editor | Code Completion.

  • Continuation indent = 4 spaces for the default Objective-C/C/C++ and Swift code style schemes.

  • The font size in views and windows matches the default font size in Xcode.

Windows and views

Xcode has several navigation views types: navigators (shown on the left-hand side), inspectors (on the right-hand side), library views (in the bottom-right corner), and several editor modes. In AppCode, similar navigation views are shown in tool windows or dialogs.

See the tables below to learn how Xcode's navigation views correspond to those in AppCode.

XcodeAppCodeComments
Project navigator ⌘1Project tool windows ⌥1
Source control navigator ⌘2 Version Control tool window ⌥9
Symbol navigator ⌘3Structure tool window ⌥7In Xcode, the Symbol navigator shows symbols in the whole project. In AppCode, the Structure tool window shows symbols only for the current file opened in the editor.
Find navigator ⌘4 | Text, Regular ExpressionFind in Files dialog ⌃⇧F
Find navigator ⌘4 | References, Definitions, Call HierarchyFind Usages dialog ⌥F7In Xcode, the Find navigator searches top-level references that match the entered text. In AppCode, Find Usages searches for the symbol under the caret (be it a variable, function, or anything else).
Issue navigator ⌘5Messages tool window ⌘5
Test navigator ⌘6The test scope can be configured in Preferences | Appearance & Behavior | Scopes.
Debug navigator ⌘7 and Debug AreaDebug tool window ⌥5
Breakpoint navigator ⌘8Breakpoints ⌃⇧F8 and Favorites dialogs
Report navigator ⌘9Messages tool window ⌘5

Inspectors

XcodeAppCodeComments
File inspector ⌥⌘1There is no direct analog for this view, but some AppCode actions can substitute for some of its parts/actions – see below.
File inspector: changing filename and locationMove F6 form the Project tool window ⌥1
File inspector: target membershipManage targets from the Project tool window ⌥1
File inspector: change encodingEncoding dropdown on the status bar
File inspector: line endings
File inspector: indents and wrappingPreferences | Editor | Code Style | <language name>AppCode also handles indent changing on the fly and suggests changing the indentation or keep it as configured in the file.
Quick Help inspector ⌥⌘2Quick Documentation popup ⌃QTo open the Quick Documentation popup as a regular tool window, press ⌃Q twice.
File template libraryPreferences | Editor | File and Code templates
Code snippet libraryPreferences | Editor | Live templatesLive templates are AppCode’s version of Xcode snippets, but they are much more powerful than a mere text code snippet.
Objects library
Media library

Editor modes

There are several editor modes in Xcode such as Standard editor, Version editor, and Assistant editor. Let’s take a look at how these modes are connected with the features of AppCode’s editor.

Standard editor

This is the only mode of the AppCode editor right now, and its purpose is basically the same as in Xcode – it’s where you edit your source code.

AppCode editor

AppCode also provides many helpful controls on the gutter and scrollbar area of the editor window:

The gutter controls

  • Code folding controls.

    Code folding

  • Line numbers.

    Line numbers

  • Gutter icons for navigating the code hierarchy, allowing you to jump to overridden methods the Go to overridden method icon, super methods the Go to super method icon, super types the Go to super type icon, subclasses the Go to subclass icon, and more.

    Navigating the code hierarchy

  • Code structure outlines that appear on placing the caret at curly braces {}.

    Code structure outlines

  • Run the Run icon and Run All buttons the Run all icon for Perform tests running test methods and classes.

    Running tests from gutter

  • Regions showing VCS changes.

    Gutter controls for VCS

The scrollbar area controls

  • Code analysis indicator that shows if the code analysis is currently in progress.

  • Warning and error positions in the code.

  • Occurrences of the currently selected code symbols in the code.

  • Search result marks.

If you hover over one of the marks on the scrollbar area, the code lens will show the code around that mark:

Lens mode

There are some standard editor actions available via pressing Ctrl in Xcode. AppCode doesn’t have direct counterparts for these actions, but most of them can be accomplished in a slightly different way:

XcodeAppCodeShortcut
Show related items
Recent filesRecent files popup⌃E
CounterpartsIn Objective-C, a similar action can be accomplished by navigating to related symbol.⌃⌥↖
SuperclassesGo to super method/class⌃U
Subclasses, Categories, Protocols, SiblingsGo to implementation⌃⌥B
Includes/Included byImports Hierarchy for Objective-C⌥⇧H
Callers/CalleesFor Objective-C/C/C++, this can be achieved via one of the views of the Hierarchy tool window (Call Hierarchy, Method Hierarchy, or Type Hierarchy ).⌥⇧H/ ⌃⇧H/ ⌃H
Test classesNavigate to test for Objective-C⌃⇧T
Test callers, Preprocess, Assembly, Disassembly, Generated Interface, User interfaces
Show previous/next history
Show top level items/group filesJump to Navigation bar⌥↖
Show document itemsStructure tool window/ File Structure popup/ Context Info⌥7/ ⌃F12/ ⌥Q

Assistant editor

There is no such mode in AppCode, but you can edit multiple files side by side.

To split the current tab, right-click the tab header and select Split Vertically.

Split vertically

To place one tab under another, right-click the tab header and select Split Horizontally ..

Split horizontally

Most of the Assistant editor functionality is available as various navigation actions in AppCode.

Version editor

AppCode’s editor highlights changed pieces of code by default and indicates which regions were changed on the gutter:

VCS in gutter

To compare the current file state with one of the previous revisions, select Git | Current File | Compare with Revision from the main menu and select the revision with which you want to compare the current file.

comparing files

AppCode’s analog of the Blame view is the Annotate action, available via Git | Current File | Annotate with Git Blame.

The Git log is available on the Log tab of the Version Control tool window ⌥9.

Plist editor

In AppCode, you can edit plist files as XML, but there is no special tool for creating them.

Distraction free mode

Sometimes you want to just edit the code and be focused on a simple window without many controls catching our attention. In AppCode, you can hide all the toolbars and tool windows. To do this, press ⌃⇧A and search for the Distraction Free Mode.

Toggle Distraction Free mode

Presentation mode

Xcode has several editor schemes with a larger font that can be used for presentations. AppCode has a presentation mode for this. To enter the presentation mode, select View | Appearance | Enter Presentation Mode.

Touch Bar support

Like other JetBrains IDEs, AppCode supports the Touch Bar. Configure it in Preferences | Appearance & Behavior | Menus and Toolbars | Touch Bar.

AppCode views

AppCode offers several helpful navigation views that are not available in Xcode, such as:

  • Files: an additional helpful mode for AppCode’s Project tool window ⌥1. It shows all the files inside the directory where the .xcworkspace or .xcproject file is located. Using this view, you can easily open and view any file that is not included in your project. You can also configure your custom scopes to be displayed in the Project tool window.

  • Bookmarks ⇧F11: a dialog that shows all the bookmarks in your code that you can set with F11.

  • The TODO tool window shows all the TODO comments in your code.

To learn more about these and other navigation views, see the Code navigation section.

Tabs

Unlike Xcode, which uses a single area for displaying the source code by default, AppCode displays it in separate tabs.

Enable single-tab behavior

  • Select None in Preferences | General | Editor Tabs | Placement.

  • Click the gear icon in the Project tool window ⌥1 and select Navigate with Single Click.

You can also change the tab location in Preferences | Editor | General | Editor Tabs.

IDE and editor themes

Xcode has several editor themes and a single IDE look and feel. AppCode has three bundled IDE themes as well as many custom IDE themes available from our plugin repository.

You can select themes in Preferences | Appearance & Behavior | Appearance:

  • Darcula: a dark theme which is intended to look the same in all JetBrains IDEs. It includes custom controls designed to fit any platform.

    Darcula theme

  • IntelliJ Light/macOS Light: these themes are designed to use the native platform look as much as possible.

    Light theme

  • High Contrast: this theme is useful for people with a vision impairment.

    High Contrast theme

For each IDE theme, you can additionally select the editor color scheme in Preferences | Editor | Color Scheme. AppCode has also several TextMate color schemes bundled and an Xcode scheme to match the colors of the Default Xcode editor theme.

You can also import your custom Xcode themes by clicking the
                                                                          gear icon in Preferences | Editor | Color Scheme | General and selecting the dropdown item at Import Scheme | Import from Xcode.

Last modified: 08 March 2021