mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 18:27:49 +08:00
add "surround with..." use-case in the live templates section
This commit is contained in:
parent
c6ec78d252
commit
bc2ccf5fae
1
ijs.tree
1
ijs.tree
@ -190,7 +190,6 @@
|
||||
<toc-element id="live_templates.md">
|
||||
<toc-element id="template_support.md"/>
|
||||
<toc-element id="new_macros.md"/>
|
||||
<toc-element toc-title="Surround Templates"/>
|
||||
</toc-element>
|
||||
<toc-element id="file_and_code_templates.md">
|
||||
<toc-element id="providing_file_templates.md"/>
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
<!-- Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
||||
|
||||
*Live Templates* are customizable rules that allow developers to abbreviate repetitive text patterns in the editor.
|
||||
*Live Templates* are customizable rules that allow developers to abbreviate repetitive text patterns or surround code fragments with repetitive constructs in the editor.
|
||||
|
||||
When a user types the designated abbreviation followed by a configurable *expansion key* (usually `Tab`), the IDE transforms the preceding input sequence to its full-length output, and update the cursor position.
|
||||
|
||||
For example, consider a `for` loop.
|
||||
@ -11,14 +12,35 @@ This pattern may be shortened to `fori<Tab>` and the remaining contents will be
|
||||
|
||||
```java
|
||||
for (int i = [|]; i < []; i++) {
|
||||
[]
|
||||
[]
|
||||
}
|
||||
```
|
||||
|
||||
As the user completes each section of the `for` loop and presses `Tab`, the cursor advances to the next position in the editor.
|
||||
|
||||
Another use-case for live templates is surrounding the selected code with additional constructs.
|
||||
When a user selects a code fragment and invokes the <menupath>Code | Surround With...</menupath> action and chooses the template from the list, the code is wrapped with the content defined in the template.
|
||||
|
||||
Consider the following Java method with the selected fragment:
|
||||
|
||||
```java
|
||||
public void testMethod() {
|
||||
<selection>getActions()</selection>
|
||||
}
|
||||
```
|
||||
|
||||
Invoking the <menupath>Code | Surround With...</menupath> action and selecting the <control>Iterate Iterable or array</control> template would transform the code to:
|
||||
|
||||
```java
|
||||
public void testMethod() {
|
||||
for (Action action : getActions()) {
|
||||
<cursor>
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
For more information about creating Custom Live Templates, refer to the [corresponding documentation](https://www.jetbrains.com/idea/help/creating-and-editing-live-templates.html).
|
||||
|
||||
These sections describe how to add Live Templates, and their associated building blocks, to plugins.
|
||||
* [Providing Live Templates](template_support.md)
|
||||
* [Creating New Functions for Live Templates](new_macros.md)
|
||||
* Surround Templates
|
||||
|
Loading…
x
Reference in New Issue
Block a user