PhpStorm 2017.2 Help

Smart Keys

File | Settings | Editor | General | Smart Keys for Windows and Linux
PhpStorm | Preferences | Editor | General | Smart Keys for macOS
Ctrl+Alt+S
/help/img/idea/2017.2/settings.png


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

ItemDescription
Home When this check box is selected, on pressing Home, the caret is positioned at the first non-space character of the current line. Pressing Home subsequently moves the caret from the Smart Home position to the first column and back.
End (on blank line) When this check box is selected, on pressing End in an empty line, the caret is positioned with the indent, which PhpStorm assumes to be reasonable in the current code point (indentation is based on the current Code Style Settings).
Insert pair bracketSelect this check box to have PhpStorm automatically add a closing round or square bracket for each typed opening round or square bracket, respectively.
Insert pair quoteSelect this check box to have PhpStorm automatically add a closing single or double quote for each typed opening single or double quote, respectively.
Reformat block on typing "}"If this check box 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' wordsSelect this check box to have PhpStorm 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 (Ctrl+Right/Ctrl+Left)
  • Caret Move with Selection (Ctrl+Shift+Right/Ctrl+Shift+Left)
  • Select Word at Caret (Ctrl+W)
  • Delete to Word Start/End (Ctrl+Backspace and Ctrl+Delete 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 check box is selected, the selected text on typing a quote, double-quote or brace, will be surrounded with these characters. If this check box is not selected, then the typed quotes, double-quotes or braces will replace the selection.
Add multiple carets on double Ctrl/ with arrow keys If this check box is selected, then:
  • pressing Ctrl (for Windows or *NIX) or (for macOS) twice plus up/down arrow keys leads to creating multiple carets.
  • pressing Ctrl (for Windows or *NIX) or (for macOS) twice plus left/right arrow keys or Home/End leads to creating a selection.
For more information, see Multicursor
EnterUse this area to define the actions to be invoked by pressing Enter.
  • Smart Indent - select this check box to have PhpStorm add a new line and position the caret in it, with the indent that PhpStorm assumes to be reasonable in the current point of code (indentation is based on the current Code Style settings).

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

  • Insert pair '}' - select this check box to have PhpStorm automatically position a closing brace } at the proper column when Enter is pressed in an empty line. In this case PhpStorm 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 Enter after an opening documentation tag.
    • If this check box is selected, PhpStorm 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 PHPDoc Comments, Creating JSDoc Comments for details.

    • If this check box is not selected, only the closing tag is generated.
BackspaceUse this drop-down list to define the actions to be invoked by pressing Backspace key. The available options are:
  • Disabled - pressing Backspace returns the caret by one position at a time.
  • To nearest indent position
  • To proper indentation
Reformat on pasteUse 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.
XML/HTMLIn this area, define the actions to be invoked automatically when editing XML or HTML code.
  • Insert closing tag on tag completion: select this check box to have PhpStorm automatically insert a closing XML or HTML tag upon entering the corresponding opening one.
  • Insert required attributes on tag completion: select this check box to have PhpStorm display a template with all mandatory attributes of the typed tag.
  • Insert required subtags on tag completion: select this check box to have PhpStorm display a template with all mandatory subtags.
  • Start attribute on tag completion: select this check box to have PhpStorm display a template with the first mandatory attribute of the typed tag.
  • Add quotes for attribute value on typing '=': select this check box to have PhpStorm 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 check box to turn off such auto-completion.
  • Simultaneous <tag></tag> editing:
    • When this check box is selected and you edit an opening tag the corresponding closing tag is automatically changed accordingly.
    • If this check box 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.

    This check box controls the behaviour of PhpStorm in the following contexts:

    • HTML files
    • HTML injections within JavaScript code
    • HTML with templates Handlebars/Mustache templates
    • Handlebars/Mustache template files with the extension .hbs
    • XML, XHTML files
    • DTD files
    • JSX files
    • HTML injections in PHP files

CSSIn this area, define the selection of CSS identifiers/classes:
  • Select whole CSS identifier on double-click: If this check box is selected, double-click on a CSS identifier or class name selects the entire name up to the prefix:
    /help/img/idea/2017.2/select_css_identifier.png

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

    /help/img/idea/2017.2/select_css_identifier1.png
AngularJSUse this area to define the behavior of AngularJS:
  • Auto-insert white space in the interpolation: If this check box is selected, a white space is automatically inserted between the braces: {{ }}.
    If this check box is not selected, the white space is not inserted: {{}}.
SQL Insert string concatenation on Enter. You may want to turn this option off, if the DBMS you are working with supports multiline string literals:

Say, there is the following fragment for PostgreSQL text value notes:

SET notes = 'Lightest element'

and the cursor is in front of the word element.

If the option is on, and you press Enter, the fragment will change to:

SET notes = 'Lightest ' || 'element'

Otherwise, the fragment will change to:

SET notes = 'Lightest element'
Qualify object on code completion. The selected option defines how the name of an object is inserted in the editor when using the code completion suggestion box.

  • Always. The qualified object names are always used, i.e. <schema_name>.<object_name>.
  • On collisions. The qualified object name is used only if the short name is ambiguous, e.g. when there is the object with the same name in more than one schema.
  • Never. The unqualified object names are always used.
PHPUse this area to define the behavior of the editor in the PHP context:
  • Enable smart function parameter completion: when this check box is selected, you can use the “automatic” live template that provides completion lists for the parameters passed into functions, methods, or class constructors.

    To invoke the magic live template, type the params keyword as the first parameter in the call of the function, method, or class:

    ps_smart_parameter_completion_step_1.png
    PhpStorm displays a live template where the parameters are automatically completed with the variable names defined in the function declaration. To move to the next parameter, press Enter or Tab. To move to the previous parameter, press Shift+Tab.

    The completion list contains variables from a local scope in the next order: with the same type, with a similar name, defined nearby. You can always switch to the usual completion mode by pressing Ctrl+Space or just typing anything which is not in the list. Variables with similar names are inserted automatically.

  • Select variable name without $ sign on double click: when this check box is selected, only the variable name that follows the $ sign is selected on double click or pressing Ctrl+W. This is helpful if you often need to copy variable names without $: just double-click and copy the selection.
    If you still need a variable name with $ selected, place the cursor before the $ sign and double click it or press Ctrl+W.
Last modified: 12 October 2017

See Also