AppCode 2019.3 Help

Project Tool Window

View | Tool Windows | Project
⌘1

This tool window lets you look at your project from various viewpoints and perform the tasks such as creating new items (directories, files, classes, and so on), opening files in the editor, navigating to the code fragment of interest, and more.

Most of the functions in this tool window are accessed as context menu commands in the content pane and via associated shortcuts.

Also, the view contains the Scratches and Consoles folder that lets you manage created scratch files, database consoles, and extension scripts.

Views

The tool window provides you with the following views:

Switch view
  • Project view. In this view, all the project items along with their dependencies (SDKs and libraries) are shown. The emphasis is on the directory structure (though the packages are also shown).

  • Scopes views (Files, Project Source Files, Project Non-Source Files, and so on). What is shown in the content pane is limited to the corresponding predefined or user-defined scope. In other respects, depending on the currently selected view options, a scope view may resemble the Project view.

To configure a view, use the corresponding options in the title bar context menu. The necessary options can also be accessed by clicking Settings on the title bar.

Show file size and modification timestamp

The Project tool window allows you to see the size and modification timestamp for the files in the project tree. To display this information, from the main menu, select View | Appearance | Details in Tree Views.

Descriptions in Tree Views: OFF

Descriptions in Tree Views: ON

Descriptions in Tree Views disabled
Descriptions in Tree Views enabled

Title bar context menu

The context menu that appears by right-clicking the title bar or clicking Settings, provides settings for project views.

The following table lists and briefly explains the available commands and options.

Item

Description

Open Files with Single Click

If this option is on, AppCode will automatically open the selected item in the editor. Otherwise, you need to double-click items to open them.

Always Select Opened File

If this option is on, AppCode automatically locates documents that you open in the editor in the current view of this window.

Xcode Order

If this option is on, files and folders will be arranged in the same order as in Xcode.

Sort by Type

If the option is off, the files are sorted alphabetically by their names. If the option is on, the files are sorted by their extensions.

The option doesn't affect the order of the folders. The folders are always sorted alphabetically.

Folders Always on Top

If the option is on, folders are shown above the files. Otherwise, all items are sorted alphabetically, and files and folders appear intermixed.

Edit Scopes

This command opens the Scopes dialog where you can add, remove, and edit custom scopes.

Group Tabs

If this option is on, there is a list in the left-hand part of the title bar from which you can select the necessary view. If this option is off, the views are represented by tabs which appear in the left-hand part of the title bar.

Group Tabs: ON

Group Tabs: OFF

Group Tabs enabled
Group Tabs disabled

View Mode

This option lets you control general appearance and behavior of the tool window. See Tool windows viewing modes.

Move to

To associate the tool window with a different tool window bar, select this command, and then select the destination tool window bar (Top, Left, Bottom or Right).

Resize

To resize the tool window by moving one of its borders, select this command, and then select the necessary Stretch to option.

Note that this command is not available for the floating mode.

Remove from Sidebar

This command hides the tool window, removes the associated tool window button from the tool window bar and removes the tool window from the quick access menu ( tb shown or tb hidden).

To open the tool window again (and restore the associated features), use the main menu: View | Tool Windows | <Window Name> or press ⌘1.

Help

This command opens the description of the Project tool window in the AppCode online help.

Title bar buttons

Item

Shortcut

Description

Select Opened File Click this icon to navigate from a file in the editor to the corresponding node (file, class, field, method, and so on) in the Project tool window.

This icon is not available if the Open Files with Single Click option is currently on.

collapse all ⌘-

Use this icon or shortcut to collapse all the nodes.

settings Click this button to open the menu for configuring the current view and changing the tool window viewing modes.

Note that most of the menu items are options that you can turn on or off. An option which is on has a check mark to the left of its name.

The available options are a subset of the title bar context menu items.

Hide tool window⇧⎋

Use this icon or shortcut to hide the tool window.

When used in combination with the key, clicking this icon hides all the tool windows attached to the same tool window bar.

Content pane

The content pane shows the project items such as directories, files, and so on.

The icons for the main categories (node types) are shown and briefly explained in the following table. The icons used for the main symbols (classes, fields, methods, and so on.), visibility modifiers, and bookmarks are shown in Icon reference.

Item

Description

Folder

A folder (directory). Different folder categories have different colors.

  • Group Group (in the Project view)

  • Directory Directory (in the Files view)

  • Excluded directory Excluded directory (in the Files view)

Scratches and Consoles

Scratch files and consoles (in the Files view)

Framework

Frameworks

Assets

Assets

Context menu commands for the content pane items

The context menu of an item provides access to all the functions available for this item.

Item

Shortcut

Description

New

⌘N

Use this command to create a new item (directory, file, or class) within the selected one.

Add

Use this command to add existing files, frameworks and libraries, or linked projects to your AppCode project.

Cut

⌘X

Use this command to move the selected item or items from the current location to the clipboard.

Copy

⌘C

Use this command to copy the selected item or items to the clipboard.

Copy Path(s)

⇧⌘C

Use this command to copy the full path(s) of the selected item or items to the clipboard.

Copy Relative Path

⌥⇧⌘C

Use this command to copy a relative path to the selected item to the clipboard.

Paste

⌘V

Use this command to insert the contents of the clipboard into the selected location.

Find Usages

⌥F7

Use this command to find the usages of the selected item. (The Find Usages dialog will open.)

Inspect Code

Use this command to run code inspection for the selected item.

Refactor

Use this command to perform one of the refactorings available for the selected item.

Add to Favorites

⌥⇧F

Use this command to add the selected item to an existing or new list of favorite items. See Favorites.

Reformat Code

⌥⌘L

Use this command to reformat the source code in the selected file or in all files in the current directory. (The Reformat Code dialog will open.)

See also, Reformat and rearrange code.

Delete

Use this command to delete the selected item. Use with care!

Mark as Plain Text

Use this command to exclude the selected file from project, so it is ignored by inspections, code completion, navigation, and so on. The file will be indicated with a special icon plain text and shown as plain text in the editor. For more details, see Exclude files.

Exclude from Xcode project

Use this command to delete a file from the project structure. The file won't be displayed in the Project view but still will be available in the Files view. To return the file into the project, in the Files view, right-click the file and select Add to Xcode Project.

Manage Targets

Use this command to add a file to a specific target.

Project Settings

⌘;

Use this command to open the Xcode-compatible project settings.

Run '<item_name>'

⌃⇧R

Run a test configuration.

Debug '<item_name>'

⌃⇧D

Debug a test configuration.

Run '<item_name>' with Coverage

Use this command to run a test configuration with code coverage.

Profile '<item_name>'

With this command you can attach a profiler to the current run/debug configuration.

Reveal in Finder

Use this command to navigate too the selected file in Finder.

Open in Terminal

Use this command to open the directory corresponding to the selected item in the embedded local terminal.

Local History

Use this command to view local history for the selected file or directory, or to create a label for the current version of your project.

Synchronize '<item_name>'

Use this command to synchronize the view in the tool window with the view saved in the file system.

If you change a file or directory contents externally, AppCode, under certain circumstances, may not be aware of the corresponding changes unless you use this command.

Compare With

⌘D

Use this command to compare the selected file or directory with another file or directory. See Comparing files, folders and text sources and Differences viewer for folders.

Mark Directory As

Use this command to mark a selected directory as project sources and headers or library files or exclude it from indexing. The command is available in the Files view.

Create Gist

Use this command to share code by using gists.

File status highlights

If VCS integration is enabled for the current project, AppCode uses colors to denote VCS file status in the Project tool window. The following table presents information about the meaning of the colors.

Color

File Status

Description

Color sample: dark green #0A7700

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: green #0EAA00

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: red #FF0000

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings/Preferences | Version Control | Changelists.

Color sample: dark green #0A7700

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: grey #616161

Deleted

The file is scheduled for deletion from the repository.

Color sample: dull purple #773895

Deleted from file system

The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: light grayish blue #8AA4C8

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: bright blue #3264B4

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: light brown #B28C00

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: dark olive #727238

Ignored

A file is intentionally untracked by VCS.

Color sample: purple #7503DC

Merged

The file is merged by your VCS as a result of an update.

Color sample: red #FF0000

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: red #FF0000

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: red #FF0000

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: bright navy #0032A0

Modified

The file has changed since the last synchronization.

Color sample: blue #0047E4

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: Olive #7C7C00

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: teal #007C7C

Renamed

Since the last update, the file has been renamed.

Color sample: dark cyan #08978F

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: brown #993300

(Unknown) Unversioned

The file exists locally, but is not in the repository, and is not scheduled for addition.

Color sample: black None (default color)

Up to date

The file hasn't been changed.

Color

File Status

Description

Color sample: dull green #629755

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: dull green #629755

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: dull red #D5756C

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings/Preferences | Version Control | Changelists.

Color sample: green #0A7700

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: grey #6C6C6C

Deleted

The file is scheduled for deletion from the repository.

Color sample: dull purple #6C6C6C

Deleted from file system

The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: light blue #6897BB

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: light blue #6897BB

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: white None (default color)

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: light olive #848504

Ignored

A file is intentionally untracked by VCS.

Color sample: light purple #9876AA

Merged

The file is merged by your VCS as a result of an update.

Color sample: dull red #D5756C

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: dull red #D5756C

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: dull red #D5756C

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: light blue #6897BB

Modified

The file has changed since the last synchronization.

Color sample: light blue #6897BB

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: white None (default color)

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: strong cyan #3A8484

Renamed

Since the last update, the file has been renamed.

Color sample: white None (default color)

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: soft red #D1675A

(Unknown) Unversioned

The file exists locally, but is not in the repository, and is not scheduled for addition.

Color sample: white None (default color)

Up to date

The file hasn't been changed.

Color

File Status

Description

Color sample: green #62CC47

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: green #62CC47

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: dull red #FF6666

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings/Preferences | Version Control | Changelists.

Color sample: green #62CC47

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: orange #ED864A

Deleted

The file is scheduled for deletion from the repository.

Color sample: orange #ED864A

Deleted from file system

The file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: vivid cyan #4FF0FF

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: vivid cyan #4FF0FF

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.

Color sample: white None (default color)

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: light olive #A9B837

Ignored

A file is intentionally untracked by VCS.

Color sample: light purple #ED94FF

Merged

The file is merged by your VCS as a result of an update.

Color sample: dull red #FF6666

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: dull red #FF6666

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: dull red #FF6666

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: vivid cyan #4FF0FF

Modified

The file has changed since the last synchronization.

Color sample: vivid cyan #4FF0FF

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings/Preferences | Version Control | Changelists.

Color sample: white None (default color)

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: vivid cyan #4FF0FF

Renamed

Since the last update, the file has been renamed.

Color sample: white None (default color)

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: soft red D1675A

(Unknown) Unversioned

The file exists locally, but is not in the repository, and is not scheduled for addition.

Color sample: white None (default color)

Up to date

The file hasn't been changed.

Last modified: 31 March 2020