AppCode 2019.3 Help

Smart Keys

AppCode | Preferences | Editor | General | Smart Keys
⌘,
icons general settings

Use this page to enable or disable specific smart keys and to define which actions you want to be invoked automatically.

Item

Description

Home moves caret to first non-whitespace character

When this checkbox is selected, on pressing , the caret is positioned at the first non-whitespace character of the current line. Pressing subsequently moves the caret from the Smart Home position to the first column and back.

End on blank line moves caret to indent position

When this checkbox is selected, on pressing in an empty line, the caret is positioned with the indent, which AppCode assumes to be reasonable in the current code point (indentation is based on the current Code Style Settings).

Insert pair brackets (), [], {}, <>

Select this checkbox to have AppCode automatically add a closing bracket for each typed opening bracket, respectively.

Insert pair quote

Select this checkbox to have AppCode automatically add a closing single or double quote for each typed opening single or double quote, respectively.

Reformat block on typing "}"

If this checkbox is selected, then, on typing the closing curly brace, the enclosed code block is reformatted automatically, if the formatting of this code block does not match the selected code style.

Use 'CamelHumps' words

Select this checkbox to have AppCode discern separate words within CamelHump names. Words within a name should start with a capital letter or an underscore. This option impacts some editor actions, for example:
  • Caret Move ⌥→/⌥←

  • Caret Move with Selection (⌥⇧→/⌥⇧←)

  • Select Word at Caret ⌥↑
  • Delete to Word Start/End (⌥⌫ and ⌥⌦ respectively)

  • Double-clicking (if Honor "CamelHumps" word settings when selecting using double click is enabled on the Editor | General settings page).

Surround selection on typing quote or brace

If this checkbox is selected, the selected text on typing a quote, double-quote or brace, will be surrounded with these characters. If this checkbox is not selected, then the typed quotes, double-quotes or braces will replace the selection.

Add multiple carets on double with arrow keys

If this checkbox is selected, then:
  • pressing plus up/down arrow keys leads to creating multiple carets.

  • pressing plus left/right arrow keys or Home/End leads to creating a selection.

For more information, see the Multicursor section.

Jump outside closing bracket/quote with Tab when typing

If this checkbox is selected, pressing when typing inside brackets/quotes will move the caret outside the closing bracket/quote. If this checkbox is not selected, pressing will insert the Tab character.

Note that this only works on initial typing: during subsequent editing, pressing inside brackets/quotes will insert the Tab character.

Enter

Use this area to define the actions to be invoked by pressing .
  • Smart indent - select this checkbox to have AppCode add a new line and position the caret in it, with the indent that AppCode assumes to be reasonable in the current point of code (indentation is based on the current Code Style settings).

    If the checkbox is cleared, upon pressing in a blank line, AppCode adds a new line and positions the caret at the current non-space character column.

  • Insert pair '}' - select this checkbox to have AppCode automatically position a closing brace } at the proper column when is pressed in an empty line. In this case AppCode seeks backward for the nearest unclosed opening brace { and places the closing one at the corresponding indentation level.

  • Insert documentation comment stub - this check box defines the behavior on pressing after an opening documentation tag. This functionality works only for JavaScript, Java, Groovy, Flex, and Swift.
    • If this checkbox is selected, AppCode generates a documentation comment stub.

      For the function comments, this stub contains the required tags (@param tags for each parameter declared in the signature, and @return). Refer to, Creating JSDoc Comments for details.

    • If this checkbox is not selected, only the closing tag is generated.

Unindent on Backspace

Use this drop-down list to define the actions to be invoked by pressing key. The available options are:
  • Disabled - pressing returns the caret by one position at a time.

  • To nearest indent position
  • To proper indentation

Reformat on paste

Use this drop-down list to specify how to place pasted code blocks. The available options are:
  • None - The pasted code is inserted at the caret location as plain text without any reformatting or indenting.

  • Indent Block - The pasted code block is positioned at the proper indentation level, according to the current Code Style Settings, but its inner structure is not changed.

  • Indent Each Line- Each line of the pasted code block is positioned at the proper indentation level, according to the current Code Style Settings.

  • Reformat Block- The pasted code block is reformatted according to the currentCode Style Settings.

Kotlin

Use this area to configure the smart keys options for Kotlin.
  • Convert pasted Java code to Kotlin: select this option to convert any Java code to Kotlin on paste. AppCode displays the Convert Code from Java dialog. If you don't want AppCode to show the dialog, select the Don't show Java to Kotlin conversion dialog on paste option.

AngularJS

Use this area to define the behavior of AngularJS:
  • Auto-insert white space in the interpolation: If this checkbox is selected, a white space is automatically inserted between the braces: {{ }}.
    If this checkbox is not selected, the white space is not inserted: {{}}.

HTML/CSS

Use this page to configure the editor behavior for HTML, XML, and CSS.

Item

Description

XML/HTML

In this area, define the actions to be invoked automatically when editing XML or HTML code.
  • Insert closing tag on tag completion: select this checkbox to have AppCode automatically insert a closing XML or HTML tag upon entering the corresponding opening one.

  • Insert required attributes on tag completion: select this checkbox to have AppCode display a template with all mandatory attributes of the typed tag.

  • Insert required subtags on tag completion: select this checkbox to have AppCode display a template with all mandatory subtags.

  • Start attribute on tag completion: select this checkbox to have AppCode display a template with the first mandatory attribute of the typed tag.

  • Add quotes for attribute value on typing '=': select this checkbox to have AppCode automatically add quotes for the value of the attribute that you are currently typing.

  • Auto-close tag on typing '</': select this check box to automatically add a closing tag after entering </. Clear this checkbox to turn off such auto-completion.

  • Simultaneous <tag></tag> editing: When this checkbox is selected and you edit an opening tag the corresponding closing tag is automatically changed accordingly.

    If this checkbox is cleared, editing the opening tag does not affect the closing tag which remains unchanged. As a result, the opening and closing tags do not match and the entire construct is underlined as erroneous.

    The Simultaneous <tag></tag> editing checkbox controls the behaviour of AppCode in the following contexts:

    • HTML files

    • HTML injections within JavaScript code

    • HTML with Handlebars/Mustache templates

    • Handlebars/Mustache template files with the extension .hbs

    • XML, XHTML files

    • DTD files

    • JSX files

CSS

In this area, define the selection of CSS identifiers/classes:
  • Select whole CSS identifier on double-click: If this checkbox is selected, double-click a CSS identifier or class name selects the entire name up to the prefix:
    select css identifier

    If this checkbox is not selected, double-click a CSS identifier or class name selects a portion of a name up to the nearest hyphens:

    select css identifier1

JSON

Use this page to configure the editor behavior for JSON.

Item

Description

JSON

The settings in this area control automatic adding of commas, quotes, and whitespaces in JSON context in compliance with the JSON syntax.

JavaScript

Use this page to configure the editor behavior for JavaScript.

Item

Description

Start template string interpolation on typing '$'

Select this checkbox to insert expressions with normal strings after the $ sign. See Expression interpolation for details.

Escape text on paste in string literals

By default, AppCode automatically inserts backslash escape symbols (\) when you paste text into a JavaScript string. Clear the checkbox to suppress automatic text escaping.

Convert attributes when pasting HTML to JSX files

By default, when you copy a piece of HTML code with class attributes or on-event handlers and paste it into JSX, AppCode automatically replaces these attributes with React-specific ones (className, onClick, onChange, and so on.)

To copy HTML code to JSX "as is", clear the checkbox or use Paste Simple ⌥⇧⌘V.

SQL

Use this page to configure the eiditor behavior for SQL.

Item

Description

Yaml

Use this page to configure the editor behavior for Yaml.

Item

Description

Auto expand key sequences upon paste

With this option selected, AppCode properly formats key sequences when you paste them from the clipboard. For example, the key2.anoher_key sequence pasted from the clipboard will be displayed with the correct hierarchy.

Yaml key sequence

Last modified: 4 December 2019