返回由當前方法返回的值的類型IntelliJ IDEA 實時模板中的模板變量允許用戶輸入。擴展模板后,變量將作為輸入字段顯示在編輯器中。
IntelliJ IDEA 聲明實時模板變量
模板中的變量以下列格式聲明:
{#content}lt;variable_name>$
IntelliJ IDEA 創建和編輯實時模板變量
變量由表達式定義,並且可以接受某些默認值。
此表達式可能包含以下基本類型的構造:
- 雙引號中的字符串常量。
- 在實時模板中定義的另一個變量的名稱。
- 具有可能參數的預定義函數。
模板變量在 "編輯模板變量" 對話框中可編輯,其中包含可用函數的完整列表。請參見本頁下面的預定義函數列表。
IntelliJ IDEA 預定義的模板變量
光標放在分號前的位置。$SELECTION $ 用於環繞模板, 並代表要包裝的代碼片段。擴展模板后, 選定的文本將按照模板中指定的內容進行包裝。例如, 如果您在代碼中選擇了示例, 並通過指定的縮寫調用 "$SELECTION $" 模板, 或者按下 Ctrl + Alt + T 並從列表中選擇所需的模板, 則 IntelliJ 想法將用雙引號將所選內容括起來, 如下所示:
IntelliJ IDEA支持兩個預定義的實時模板變量:$END$ 和 $SELECTION$。
你不能編輯預定義的實時模板變量 $END$ 和 $SELECTION$。
- $END$ 指示在擴展模板后光標的位置。例如,模板返回 $END$;將擴展到 :
return ;
光標定位在分號之前的位置。
- $SELECTION$ 用於環繞模板 ,代表要包裝的代碼片段。展開模板后,選定的文本將按照模板中指定的內容進行包裝。例如,如果您在代碼中選擇了示例並通過指定的縮寫調用 "$SELECTION $" 模板,或通過按下 Ctrl+Alt+T 從列表中選擇所需的模板,IntelliJ IDEA 將使用雙引號將所選內容括起來:
"EXAMPLE"
用於實時模板變量的預定義函數
項目 | 描述 |
---|---|
annotated("annotation qname") |
創建一個具有位於指定位置的注釋的類型符號。 |
arrayVariable() |
建議在當前范圍內適用的所有數組變量 |
anonymousSuper() |
為 Kotlin 對象表達式建議一個超類型。 |
camelCase(String) |
返回作為參數傳遞的字符串,轉換為駱駝大小寫。例如,my-text-file / my text file / my_text_file 將被轉換為 myTextFile 。 |
capitalize(String) |
將作為參數傳遞的名稱的首字母大寫。 |
capitalizeAndUnderscore(sCamelCaseName) |
將作為參數傳遞的匹配名稱的所有字母大寫,並在各部分之間插入下划線。例如,如果作為參數傳遞的字符串FooBar ,則函數返回FOO_BAR 。 |
castToLeftSideType() |
將右側表達式轉換為左側表達式類型。在 "迭代" 組中使用它可以生成原始類型和泛型集合的單個模板。 |
className(sClassName) |
返回當前類的名稱(擴展模板的類)。 |
classNameComplete() |
此表達式替換在變量位置的類名稱完成。 |
clipboard() |
返回系統剪貼板的內容。 |
snakeCase(String) |
從 snake_case 字符串中返回 CamelCase 字符串。例如,如果作為參數傳遞的字符串 foo_bar ,則函數返回fooBar 。 |
complete() |
此表達式替換可變位置處的代碼完成調用。 |
completeSmart() |
此表達式替換在變量位置的智能類型完成調用。 |
componentTypeOf (<array variable or array type>) |
返回數組的組件類型。 |
currentPackage() |
返回當前包的名稱。 |
date(sDate) |
以指定的格式返回當前系統日期 默認情況下,當前日期以默認系統格式返回。但是,如果您在雙引號中指定日期格式,則日期將以此格式顯示: ![]() |
decapitalize(sName) |
將作為參數傳遞的名稱的第一個字母替換為相應的小寫字母。 |
descendantClassEnum(<String>) |
顯示作為字符串參數輸入的類的子項。 |
enum(sCompletionString1,sCompletionString2,...) |
在模板調用中建議完成的逗號分隔字符串的列表。 |
escapeString(sEscapeString) |
轉義指定的字符串。 |
expectedType() |
返回作為整個模板的結果所需的類型。如果模板在分配的右部分、返回后等范圍內展開,則會有意義。 |
fileName(sFileName) |
返回具有擴展名的文件名。 |
fileNameWithoutExtension() |
返回沒有擴展名的文件名。 |
firstWord(sFirstWord) |
返回作為參數傳遞的字符串的第一個單詞。 |
groovyScript("groovy code") |
返回具有指定代碼的 Groovy 腳本。 您可以使用帶有多個參數的 groovyScript 宏。第一個參數是執行的腳本文本或包含腳本的文件的路徑。下一個參數綁定到腳本中可用的 _1, _2, _3, ..._n 變量。 此外, _editor 變量在腳本中可用。該變量綁定到當前編輯器。 |
guessElementType (<container>) |
對存儲在java.util.Collection 中的元素的類型進行猜測。為了猜測,IntelliJ IDEA 嘗試查找元素添加到容器中或從容器中提取的位置。 |
iterableComponentType(<ArrayOrIterable>) |
返回可迭代(iterable)組件的類型,例如數組或集合。 |
iterableVariable() |
返回可以迭代的變量的名稱。 |
lineNumber() |
返回當前行號。 |
lowercaseAndDash(String) |
返回以破折號分隔的小寫形式,作為參數傳遞的字符串。例如,字符串 MyExampleName 被轉換為my-example-name 。 |
methodName() |
返回包含(embracing)方法的名稱(擴展模板的位置)。 |
methodParameters() |
返回包含方法的參數列表(其中擴展了模板)。 |
methodReturnType() |
返回由當前方法返回的值的類型(該模板在其中展開的方法)。 |
qualifiedClassName() |
返回當前類的完全限定名(擴展模板的類)。 清除 "縮短" 的 "檢查名稱" 復選框。 |
rightSideType() |
用右側表達式的類型聲明左側變量。在 "迭代" 組中使用它可以生成原始類型和泛型集合的單個模板。 |
snakeCase(sCamelCaseText) |
返回從作為參數傳遞的 CamelCase 字符串中的 snake_case 字符串。 |
spaceSeparated(String) |
返回用匹配字符串作為參數傳遞的空格分隔的字符串。例如,如果作為參數傳遞的字符串fooBar ,則函數返回 foo bar 。 |
subtypes(sType) |
返回作為參數傳遞的類型的子類型。 |
suggestIndexName() |
建議索引變量的名稱。 |
suggestVariableName() |
根據引用變量命名規則的代碼樣式設置,根據變量類型及其初始化程序表達式建立變量的名稱。 例如,如果它是在迭代中保存元素的變量,則 IntelliJ IDEA 對最合理的名稱進行猜測,同時考慮到要迭代的容器的名稱。 |
suggestFirstVariableName(sFirstVariableName) |
不建議true, false, this, super 。 |
time(sSystemTime) |
返回當前系統時間。 |
typeOfVariable(VAR) |
返回作為參數傳遞的變量的類型。 |
underscoresToCamelCase(sCamelCaseText) |
返回作為參數傳遞的字符串, 並將 CamelHump 字母替換為下划線。例如,如果作為參數傳遞的字符串foo_bar ,則函數返回 fooBar 。 |
underscoresToSpaces(sParameterWithSpaces) |
返回作為參數傳遞的字符串, 並用空格替換下划線。 |
user() |
返回當前用戶的名稱。 |
variableOfType(<type>) |
建議所有可能分配給作為參數傳遞的類型的變量,例如variableOfType(“java.util.Vector”)。如果將空字符串 ("") 作為參數傳遞, 則建議所有變量, 而不考慮它們的類型。 |
JsArrayVariable |
返回 JavaScript 數組名稱。 |
jsClassName() |
返回當前 JavaScript 類的名稱。 |
jsComponentType |
返回 JavaScript 組件類型。 |
jsMethodName() |
返回當前 JavaScript 方法的名稱。 |
jsQualifiedClassName |
返回當前 JavaScript 類的完整名稱。 |
jsSuggestIndexName |
返回建議的索引名稱。 |
jsSuggestVariableName |
返回變量的建議名稱。 |