Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Table of Contents

...

When you get into a new car you normally do something before you start the engine. Right?
You adjust the mirrors and seats; you check where the most important switches are and how they work. Let's quickly do the same about getting into AppCode.

Section
Column
Gallery
titleWelcome screen
columns1
includeappcode_welcome.png
Column

On the Welcome screen you can start a new or open an existing Xcode project. All Xcode project templates are available inside the New Project wizard. To open an existing project just locate its .xcodeproj file on the disc or checkout the project from a version control system if it is not on your disc.

Here are some of the concepts of AppCode UI may want to know:

Section
Column
Gallery
titleAppCode UI
columns1
includeappcode_ui.png
Column

1 — Code editors with tabs
2 — Tool-window: specialized secondary windows attached to the bottom and sides of the workspace and provide access to typical tasks such as project management, source code search and navigation, running and debugging, integration with version control systems, etc.
3 — Tool-window buttons: buttons that show/hide tool-windows. Numbers near window names indicate keyboard accessors, e.g. Project tool window can be accessed with Cmd-1.
4 — Project view tool-window: a tool-window that's open by default.
5 — Navigation Bar
6 — Run/Debug Toolbar

These are the key UI elements you'll notice once your project is open.

AppCode is a complex and highly customizable development environment. You can quickly change the IDE look using the options under View menu or dive into IDE Settings dialog where you can configure IDE and Project settings.
Image Removed Image Removed
AppCode allows customizing virtually anything. Walk through the Settings sections to know what you can change. To help you find a needed configuration option quickly a search field is available.
Image Removed
One of the important concepts of AppCode and all JetBrains products is a higher productivity via extensive keyboard use. You can do everything from the keyboard inside the IDE and you can customize the keyboard hotkeys as well. AppCode comes with 2 keymap schemes bundled: "Default" and "IntelliJ IDEA". If you are familiar with IntelliJ IDEA, you may find "IntelliJ IDEA" keymap more comfortable, while the "Default" keymap is more Mac-style.

To memorize AppCode shortcuts faster, open the keymap reference using Help | Default Keymap Reference and print it.

AppCode is also an extensible IDE. There is a number of useful plugins available. You can find them in IDE Settings | Plugins section. Review the installed plugins and those available in the repository. Note that you can disable some plugins you don't want them, e.g. you never use CVS --- you may turn it off.

NOTE for Vim addicts: If you want the powers of both worlds, Vim editing capabilities and AppCode code knowledge and others, install the 'ideaVim' plugin and enjoy!

...

Efficient project code navigation is critical, and it is one of key areas we focus on in creating the AppCode IDE. However, since no two projects are alike, and each developer has their own habits and practices, we have designed different sets of navigation commands to suit both keyboard addicts and mouse maniacs. Choose what's right for you, but consider checking the other options, too.

When working on your own project, you often know which file or class you want to open and edit. The fastest way to do this is to use Go to Class... (Cmd+O) or Go to File... (Cmd+Shift+O).
Image Removed Image Removed
If you know precisely, that you want to get to a definition of MyFavoriteVariable, use Go to Symbol (Cmd+Shift+O)

The above options offer very comprehensive functionality. For instance, you can use CamelHumps to save some key presses, or wildcards for file/path matching (see the screenshots). And of course they work for every file type AppCode knows be it Objectve-C files, HTML, JavaScript, etc.

Quickly navigate through class hierarchy using the gutter navigation icons:

  • Go to implementation or super-class
  • Switch between implementation and declaration
  • Go to related files/classes
  • Go to super method in interface/protocol

Image Removed Image Removed
Other options include:

  • Go to symbol
  • Go to declaration
  • Go to line
  • Go to next/previous method, etc.

Just open the "Go To" menu and you'll see the whole list with their keyboard shortcuts. These are the options that are worth trying and remembering and that you'll need daily, if not hourly.

In addition to just navigating the code tree AppCode offers advanced code view and search options.
The specific views include:

  • Project View --- main project and project files browser
  • Structure View --- displays the structure of a file in the current editor tab
  • Hierarchy View --- allows to see subtypes/supertypes/classes hierarchy

All three views are shown on the below screenshot and allow to quickly navigate to the corresponding source code.
Image Removed
Additionally, there's a "Quick Lookup" options:

  • Quick Definition Lookup --- allows to see the definition of class/function/symbol without loosing the context (see screenshot above)
  • Quick Documentation Lookup --- shows documentation for an object under the carret (from Xcode)

Image Removed
And finally, the last in this section but probably one of the utmost importance --- Usage Search.

Thanks to AppCode's ultimate knowledge of your project code you can easily find out where some object is being used, be it a class, a function, a variable or a resource such as image file.

Just put a caret on a symbol in the editor or select a file in project view and hit Alt+F7, select where to search and see the results in a special view broken down into categories such as 'Variable declaration, Usage in Import, etc.
Image Removed
Alternatively hit Cmd+Alt+F7 and see the same results instantly in a popup window.
Pick a place you want to jump to and hit Enter to open it in the editor.
Image Removed

...

  1. Completion
  2. No need to write []. Can write calls with .
  3. Smart completion
  4. Complete statement for ; and if
  5. Live templates (question)
  6. Surround with
  7. Quick-fixes/intentions
  8. Parameters signature display (Cmd+P)
  9. Code transformations/intention actions
  10. Code formatting

...

  1. On-the-fly error and quality checking
  2. Inspections
  3. Quick-fixes

...

  1. TBD

...

  1. TBD

...

Color coded files
JavaScript, HTML, CSS
Productivity Guide
Macros recorder
i18n
navigation bar
Quick lists
http://www.youtube.com/watch?v=_ublfXNLnMA
http://jetbrains.dzone.com/articles/navigation-inside-rubymineThis page is obsolete. Please refer to AppCode Quick Start Guide.

Wiki Markup
{hidden-data}
{toc:maxLevel=2}

{include:AppCode and Xcode}


h2. {anchor:h.7mvgd2w2t6zu}*AppCode Basics: First Start*

When you get into a new car you, normally, do something before you start the engine. Right?
You adjust the mirrors and seats; you check where the most important switches are and how they work. Let's quickly do the same about getting into AppCode.

On the Welcome screen you can start a new or open an existing Xcode project. All Xcode project templates are available inside the New Project wizard. To open an existing project just locate its {{.xcodeproj}} file on the disc or checkout the project from a version control system if it is not on your disc.
{section}
{column}
{gallery:title=|columns=2|include=appcode_welcome.png,appcode_ui.png|sort=comment}
{column}
{column}
\\
Here are some of the concepts of AppCode UI one may want to know:

1 --- Code editors with tabs
2 --- Tool-window: specialized secondary windows that are attached to the bottom and sides of the workspace and provide access to typical tasks such as project management, source code search and navigation, running and debugging, integration with version control systems, etc.
3 --- Tool-window buttons: buttons that show/hide tool-windows. Numbers near window names indicate keyboard accessors, e.g. Project tool window can be accessed with *Cmd-1*.
4 --- Project view tool-window: a tool-window that's open by default.
5 --- Navigation Bar
6 --- Run/Debug Toolbar

These are the key UI elements you'll notice once your project is open.
{column}
{section}
AppCode is a complex and highly customizable development environment. You can quickly change the IDE look using the options under *View* menu or dive into *IDE Settings* dialog where you can configure IDE and Project settings.

AppCode allows customizing virtually anything. Walk through the Settings sections to know what you can change. A search field is available to help you find a needed configuration option quickly.
{gallery:title=|columns=3|include=appcode_customize.png,appcode_settings.png,appcode_settings_search.png|sort=comment}

One of the important concepts of AppCode and all JetBrains products is a *higher productivity via extensive keyboard use*. You can do everything from the keyboard inside the IDE and you can customize the keyboard hotkeys as well. AppCode comes with a number of different keymap schemes bundled: "Default", "IntelliJ IDEA", "Xcode", "Visual Studio", "ReSharper", "ReSharper OSX" and "Emacs". Pick the one you're used to and feel comfortable with.

To memorize AppCode shortcuts faster, open the keymap reference using *Help \| Default Keymap Reference* and print it.

AppCode is also an extensible IDE. There is a number of useful plugins available. You can find them in *IDE Settings \| Plugins* section. Review the installed plugins and those available in the repository. Note that you can disable some plugins you don't need them, e.g. you never use CVS \--- you can turn it off.

{info:title=NOTE for Vim addicts}If you want the powers of both worlds, Vim editing capabilities and AppCode's code knowledge and others --- install the *ideaVim plugin* and enjoy\!{info}

h2. {anchor:h.w75nxkz5g7de}{*}AppCode Basics: Code Navigation*

Efficient project code navigation is critical, and not only when you try to research someone's code but for your own one, when a project gets bigger. Effective ways to explore and navigate code is one of key areas we focus on in creating the AppCode IDE. However, since no two projects are alike, and each developer has their own habits and practices, we have designed different sets of navigation commands to suit both keyboard addicts and mouse maniacs. Choose what's right for you, but consider checking the other options, too.

Generally, code navigation in AppCode can be divided into 3 major kinds:
# from a usage to declaration
# from a declaration to usages
# through classes hierarchy

But let's review them all with examples.


When working on your own project, you often know which file or class you want to open and edit. The fastest way to do this is to use Go to Class... (*Cmd+O*) or Go to File... (*Cmd+Shift+O*).
!appcode_goto_class.png! !appcode_goto_file.png!
If you know precisely, that you want to get to a definition of {{MyFavoriteVariable}}, use Go to Symbol (*Cmd+Shift+O*)

The above options offer very comprehensive functionality. For instance, you can use CamelHumps to save some key presses, or wildcards for file/path matching (see the screenshots). And of course they work for every file type AppCode knows be it Objectve-C files, HTML, JavaScript, etc.

Quickly navigate through class hierarchy using the gutter navigation icons:
* Go to implementation or super-class
* Switch between implementation and declaration
* Go to related files/classes
* Go to super method in interface/protocol

!appcode_gutter_goto_subclass.png! !appcode_gutter_goto.png!

Other options include:
* Go to symbol
* Go to declaration
* Go to line
* Go to next/previous method, etc.

Just open the "Go To" menu and you'll see the whole list with their keyboard shortcuts. These are the options that are worth trying and remembering and that you'll need daily, if not hourly.

In addition to just navigating the code tree AppCode offers advanced code view and search options.
The specific views include:
* *Project View* --- main project and project files browser
* *Structure View* --- displays the structure of a file in the current editor tab
* *Hierarchy View* --- allows to see subtypes/supertypes/classes hierarchy

All three views are shown on the below screenshot and allow to quickly navigate to the corresponding source code.
!appcode_views.png|width=750!
Additionally, there are "Quick Lookup" options:
* *Quick Definition Lookup* --- allows to see the definition of class/function/symbol without loosing the context (see screenshot above)
* *Quick Documentation Lookup* --- shows documentation for an object under the caret (from Xcode)

!appcode_documentation.png|width=500!

And finally, the last in this section but probably one of the utmost importance --- *Usage Search*.

Thanks to AppCode's ultimate knowledge of your project code you can easily find out where some object is being used, be it a class, a function, a variable or a resource such as image file.

Just put a caret on a symbol in the editor or select a file in project view and hit *Alt+F7*, select where to search and see the results in a special view broken down into categories such as Variable declaration, Usage in Import, etc. Of course, you can instantly get to any found line of code from here.


!appcode_usage_search_results.png|width=701,height=237!

Alternatively hit *Cmd+Alt+F7* and see the same results instantly in a popup window.
Pick a place you want to jump to and hit Enter to open it in the editor.
!appcode_usage_seaarch_popup.png|width=820,height=211!

{info:title=AppCode Keymap}
We're referencing keyboard hotkeys here. You can learn them all from the [printable keymap reference|^appCode_ReferenceCard.pdf]. It is also available in AppCode under *Help \| Default Keymap Reference* menu.
{info}

{hidden-data}