PhpStorm wrap/surround selection?

TwigPhpstormKeyboard ShortcutsSettings

Twig Problem Overview


Often in coding and templating I need to wrap a certain part of text. Is there any shortcut to wrap the current selection, for example:

Hello World
"Hello World"

Hello World
{{ trans 'Hello World' }}

Im using PhpStorm 7 for Mac and PC. I found something similiar, with: ctrl+alt+j you can wrap with a html-tag but nothing else. Also ctrl+alt+- comments the current selection according to the current file format(php, twig, html, ...)

Twig Solutions


Solution 1 - Twig

I know this is a little late answer, but I hope anyone who looks this question get helped.
In PhpStorm, almost everything can be configured but a little tricky and takes some learning curve.

It's very common behaviour that select a word and type single quote (or double quote) to surround it.

Hello World
'Hello World'
"Hello World"

To enable this, tick on checkbox of Preferences -> IDE -> Editor -> Smart Keys -> Surround Selection on typing quote or brace.

Another way, you select something (word, condition) and press Cmd + Alt + T (on Mac) , Ctrl + Alt + T (on Windows). Available Surround With options dialog box will be displayed.

Update (for PhpStorm8)

For PhpStorm Version 8, tick on checkbox of Preferences -> Editor -> General -> Smart Keys -> Surround selection on typing quote or brace.

Update (for PhpStorm 2016)

For PhpStorm Version 2016, use Cmd + Alt + S (on Mac) or Ctrl + Alt + S (on Win) to go to Settings. Tick on checkbox of Settings -> Editor -> General -> Smart Keys -> Surround selection on typing quote or brace`.

Solution 2 - Twig

As of 2015-02-26 (PhpStorm 8) go to:

File > Settings... > Editor > General > Smart Keys > Surround selection on typing quote or brace

Solution 3 - Twig

How to create a live template to easily change Hello World into {{ trans 'Hello World' }}:

  1. Select something (word, condition) and press Cmd + Alt + T (on Mac) , Ctrl + Alt + T (on Windows). Available Surround With options dialog box will be displayed.
  2. Select Configure live templates.
  3. On the right bar there are a "+" to add either a group or live template.
  4. In Edit part choose "Abbreviation", so you could see it in a menu later.
  5. In "Template text" add following: {{ trans '$SELECTION$' }}
  6. Click ok to save changes.

After that select Hello World and use step 1 from above, select a rule with your "Abbreviation"

This is just a more detailed answer than @Steve.NayLinAung . Credit goes to @LazyOne

Solution 4 - Twig

On a Mac, it's

PhpStorm > Preferences > Editor > General > Smart Keys > Surround selection on typing quote or brace.

You can also press command+, to open the Preferences menu.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionbench-oView Question on Stackoverflow
Solution 1 - TwigSteve.NayLinAungView Answer on Stackoverflow
Solution 2 - TwigLuke WattsView Answer on Stackoverflow
Solution 3 - TwigArtem LView Answer on Stackoverflow
Solution 4 - TwigMladen DanicView Answer on Stackoverflow