IntelliJ IDEA實時模板變量

返回由當前方法返回的值的類型IntelliJ IDEA 實時模板中的模板變量容許用戶輸入。擴展模板後,變量將做爲輸入字段顯示在編輯器中。java

IntelliJ IDEA 聲明實時模板變量

模板中的變量如下列格式聲明:api

{#content}lt;variable_name>$

IntelliJ IDEA 建立和編輯實時模板變量

變量由表達式定義,而且能夠接受某些默認值。數組

此表達式可能包含如下基本類型的構造:編輯器

  • 雙引號中的字符串常量。
  • 在實時模板中定義的另外一個變量的名稱。
  • 具備可能參數的預約義函數。

模板變量在 "編輯模板變量" 對話框中可編輯,其中包含可用函數的完整列表。請參見本頁下面的預約義函數列表。ide

IntelliJ IDEA 預約義的模板變量

光標放在分號前的位置。$SELECTION $ 用於環繞模板, 並表明要包裝的代碼片斷。擴展模板後, 選定的文本將按照模板中指定的內容進行包裝。例如, 若是您在代碼中選擇了示例, 並經過指定的縮寫調用 "$SELECTION $" 模板, 或者按下 Ctrl + Alt + T 並從列表中選擇所需的模板, 則 IntelliJ 想法將用雙引號將所選內容括起來, 以下所示:函數

 

IntelliJ IDEA支持兩個預約義的實時模板變量:$END$ 和 $SELECTION$。this

你不能編輯預約義的實時模板變量 $END$ 和 $SELECTION$。spa

  • $END$ 指示在擴展模板後光標的位置。例如,模板返回 $END$;將擴展到 :
    return ;

    光標定位在分號以前的位置。code

  • $SELECTION$ 用於環繞模板 ,表明要包裝的代碼片斷。展開模板後,選定的文本將按照模板中指定的內容進行包裝。例如,若是您在代碼中選擇了示例並經過指定的縮寫調用 "$SELECTION $" 模板,或經過按下 Ctrl+Alt+T 從列表中選擇所需的模板,IntelliJ IDEA 將使用雙引號將所選內容括起來:
    "EXAMPLE"

用於實時模板變量的預約義函數

項目 描述
annotated("annotation qname") 建立一個具備位於指定位置的註釋的類型符號。
arrayVariable() 建議在當前範圍內適用的全部數組變量
anonymousSuper() 爲 Kotlin 對象表達式建議一個超類型。
camelCase(String) 返回做爲參數傳遞的字符串,轉換爲駱駝大小寫。例如,my-text-filemy text filemy_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) 以指定的格式返回當前系統日期

默認狀況下,當前日期以默認系統格式返回。可是,若是您在雙引號中指定日期格式,則日期將以此格式顯示:component

IntelliJ IDEA實時模板變量的預約義函數
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 返回變量的建議名稱。
相關文章
相關標籤/搜索