AppCode 2023.1 ヘルプ

ライブテンプレート変数

ライブテンプレートには、別の値に置き換えたり、入力フィールドとして使用したりできる変数が含まれている場合があります。例: for ライブテンプレートを展開(Tab)すると、事前定義された値を持つ 2 つのハイライトされたフィールドが表示されます。

Live template variables in the editor

どちらもライブテンプレートで定義された変数です。item は配列要素のデフォルト名であり、petsfor ループの直前に宣言された配列です。

テンプレート変数を設定する

  1. 環境設定ダイアログ(Ctrl+Alt+S)で、エディター | ライブテンプレートに進みます。

  2. 変数を設定するテンプレートを選択します。

    Live template preferences
  3. 次の形式で変数を指定します: $VARIABLE_NAME$ テンプレートに変数が含まれている場合は、変数の編集…ボタンを使用できます。このボタンをクリックして、変数値を設定します。

  4. テンプレート変数の編集ダイアログでは、各変数に対して以下の操作を実行できます。

    • 変数名を変更する

    • 事前定義された関数を使用して式を定義する

    • 式の評価に失敗した場合のデフォルト値を指定します

    • 式が正常に評価された場合にユーザーに入力を求めるときに変数をスキップするかどうかを指定します

    Live template variables

定義済みのテンプレート変数

AppCode は、変更できない以下の定義済みライブテンプレート変数をサポートしています。

  • $END$ は、コードスニペットが完了したときのカーソルの位置を示し、Tab を押して次の変数に移動することはできなくなりました。

  • $SELECTION$ は囲みテンプレートで使用され、ラップされるコードフラグメントを示します。テンプレートが展開されると、テンプレートで指定されたとおりに選択されたテキストがラップされます。例: コードで EXAMPLE を選択し、割り当てられた略語で "$SELECTION$" テンプレートを呼び出すか、Ctrl+Alt+T を押してリストから目的のテンプレートを選択すると、AppCode は選択を二重引用符で次のようにラップします: "EXAMPLE"

ライブテンプレート変数で使用される関数

ライブテンプレート変数を定義するには、次の関数を使用できます。

機能

説明

blockCommentEnd()

現在の言語のコンテキストでブロックコメントの終わりを示す文字を返します。

例: Swift および Objective-C ファイルでは、*/ を返します。

blockCommentStart()

現在の言語コンテキストでのブロックコメントの開始を示す文字を返します。

例: Swift および Objective-C ファイルでは、/* を返します。

camelCase(<String>)

文字列をキャメルケースに変換します。

例: camelCase("my-text-file")camelCase("my text file")camelCase("my_text_file") はすべて myTextFile を返します。

capitalize(<String>)

文字列の最初の文字を大文字にします。

例: capitalize("name")Name を返します。または、capitalize(camelCase("my awesome class")) と組み合わせて MyAwesomeClass を取得することもできます。

capitalizeAndUnderscore(<String>)

文字列のすべての文字を大文字にし、パーツ間にアンダースコアを挿入します。

例: capitalizeAndUnderscore("FooBar")capitalizeAndUnderscore("foo bar")capitalizeAndUnderscore("foo-bar") はすべて FOO_BAR を返します。

className()

現在のクラスの名前を返します(テンプレートを展開した場所)。コンストラクターテンプレートに役立ちます。

clipboard()

システムクリップボードの内容を返します。

collectSequences()

テンプレートが展開された場所から利用可能なシーケンス(英語)型のすべての変数を返します。例については、Swift グループの for ライブテンプレートを参照してください。この機能は Swift でのみ使用できます。

collectAsyncSequences()

テンプレートが展開された場所から利用可能な AsyncSequence(英語) 型のすべての変数を返します。例については、Swift グループの forawait ライブテンプレートを参照してください。この機能は Swift でのみ使用できます。

commentEnd()

現在の言語コンテキストでコメントの終わりを示す文字を返します。行コメントのある言語の場合、戻り値は空です。

commentStart()

現在の言語コンテキストでコメントの開始を示す文字を返します。行コメントのある言語の場合、戻り値は lineCommentStart() と同じように行コメントの始まりです。

complete()

変数の位置でコード補完を呼び出します。

completeSmart()

変数の位置でスマート型補完を呼び出します。

concat(<String>, ...)

パラメーターとして関数に渡されたすべての文字列の連結を返します。

例: concat(date()," ",user()) は、スペースで区切られた現在のシステム日付とユーザー名を返します。

date([format])

現在のシステム日付を返します。

デフォルトでは、パラメーターなしで、現在のシステム形式で日付を返します。別の形式を使用するには、SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。例: date("Y-MM-d, E, H:m") は、2020-02-27, Thu, 16:11 としてフォーマットされた日付を返します。

dbColumns()

テーブルまたはビューの列のリストを返します。dbColumns() は、コンテキストライブテンプレート(たとえば、ins)で使用されます。オブジェクトを右クリックして SQL スクリプトを選択すると、コンテキストライブテンプレートにアクセスできます。

dbObjectName()

テーブルまたはビューの名前を返します。dbObjectName() は、コンテキストライブテンプレート(たとえば、top)で使用されます。オブジェクトを右クリックして SQL スクリプトを選択すると、コンテキストライブテンプレートにアクセスできます。

decapitalize(<String>)

文字列の最初の文字を対応する小文字に置き換えます。

例: decapitalize("Name")name を返します。

enum(<String>, ...)

テンプレートが展開されたときに補完が提案される文字列のリストを返します。

例: enum("Foo","Bar","Baz") は、指定された文字列の 1 つを選択できるリストを表示します。

escapeString(<String>)

結果を Java 文字列で使用できるように、特殊文字をエスケープします。

例: タブ文字を \t で置き換え、改行文字を \n で置き換え、バックスラッシュを \\ としてエスケープし、引用符を \" としてエスケープします。

executionContext()

sel_getName(_cmd) 関数を使用して、現在のメソッドの名前を返します。

例については、Objective-C グループの logm ライブテンプレートを参照してください。この関数は Objective-C でのみ使用できます。

expressionFormatCode()

この関数のパラメーターとして渡されるオブジェクトの文字列フォーマット指定子を返します。

例については、Objective-C グループの logv ライブテンプレートを参照してください。この関数は Objective-C でのみ使用できます。

fastEnumeration()

現在のスコープで使用可能なコレクションと列挙の名前を返します。

例については、Objectibe-C グループの each ライブテンプレートを参照してください。この関数は Objective-C でのみ使用できます。

fileName()

現在のファイルの名前とその拡張子を返します。

fileNameWithoutExtension()

現在のファイルの名前を拡張子なしで返します。

filePath()

現在のファイルへの絶対パスを返します。

fileRelativePath()

現在のプロジェクトに相対的な現在のファイルパスを返します。特定のファイルの相対パスを確認するには、ファイルを右クリックして参照をコピーを選択するか、Ctrl+Alt+Shift+C を押します。

firstWord(<String>)

パラメーターとして渡された文字列の最初の単語を返します。

例: firstWord("one two three")one を返します。

groovyScript(<String>, [arg, ...])

文字列として渡された Groovy スクリプトを実行します。

最初の引数は、スクリプトのテキストまたはスクリプトを含むファイルへのパスを含む文字列です。この関数は、他のオプションの引数を _1_2_3、...、_n 変数の値としてスクリプトに渡します。また、_editor 変数を使用して、スクリプト内から現在のエディターにアクセスできます。

次の例は、選択したテキストを単語に分割し、番号付きリストとして表示する groovyScript() 関数を示しています。

groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION);

JsArrayVariable()

現在の JavaScript 配列の名前を返します。

jsClassName()

現在の JavaScript クラスの名前を返します。

jsComponentTypeOf()

現在の JavaScript コンポーネントの型を返します。

jsDefineParameter

モジュールの名前に基づいて、define(["module"], function (<parameter_in_question>>) {}) からパラメーターを返します。

jsMethodName()

現在の JavaScript メソッドの名前を返します。

jsQualifiedClassName()

現在の JavaScript クラスの完全な名前を返します。

jsSuggestDefaultVariableKind(Boolean)

Boolean パラメーターは、現在のコンテキストで定数が許可されるかどうかを決定します。パラメーターが指定されていない場合は、定数が許可されます。テンプレートが展開されると、TypeScript および ES6 の場合は varletconst オプション、それ以前のバージョンの JavaScript の場合は var オプションが 1 つだけのリストが表示されます。

jsSuggestImportedEntityName()

ファイル名に基づいて、タイプ `import * as $ITEM$ from "$MODULE$"` または `import $ITEM$ from "$MODULE$"` のインポートステートメントの名前を提案します。

jsSuggestIndexName()

最も一般的に使用されているもの(ijk 以降)から、インデックス変数の推奨名を返します。現在のスコープでまだ使用されていない名前が最初に表示されます。

jsSuggestVariableName()

変数の命名規則を参照するコードスタイル設定に従って、変数の型と初期化式に基づいて、変数の推奨名を返します。例: 反復内で要素を保持する変数の場合、AppCode は、反復されるコンテナーの名前を考慮して、最も妥当な名前を推測します。

lineCommentStart()

現在の言語コンテキストでの行コメントの開始を示す文字を返します。

lineNumber()

現在の行番号を返します。

lowercaseAndDash(<String>)

文字列を小文字に変換し、セパレータとして n ダッシュを挿入します。例: lowercaseAndDash("MyExampleName")lowercaseAndDash("my example name") はどちらも my-example-name を返します。

objectWithFunctions(sFunctionName1, sFunctionName2,...)

パラメーターとしてリストされているメンバー関数を含む可視オブジェクトのリストを返します。

regularExpression(<String>, <Pattern>, <Replacement>)

String 内のすべての Pattern を検索し、Replacement に置き換えます。パターンを正規表現として指定して、文字列内で一致するすべてのものを検索できます。

例: regularExpression(NAME, "a", "b") 式は、任意の文字「a」を置き換えます。$NAME$ テンプレート変数で文字「b」を使用します。パターン部分で正規表現文字クラスを使用できます。たとえば、regularExpression(NAME, "[a-z]", "b") は変数内の任意の文字を置き換えます。\d\w などのパターンを正規表現文字クラスと見なしたい場合は、パターンが "\\d" のように見えるようにスラッシュをエスケープする必要があります。

rightSideType()

右側の式の型で左側の変数を宣言します。

反復グループのいくつかの事前定義テンプレートは、rightSideType() 関数を使用して、未加工のタイプとジェネリクスタイプの両方に単一のテンプレートを設定します。

showParameterInfo()

関数またはメソッドにパラメーターを追加するときにパラメーターの詳細を返します。

snakeCase(<String>)

文字列を snake_case に変換します。例: snakeCase("fooBar")snakeCase("foo bar") はどちらも foo_bar を返します。

spaceSeparated(<String>)

区切り文字としてスペースを含む指定された文字列を返します。例: spaceSeparated("fooBar")foo Bar を返し、spaceSeparated("Foo_BAR")Foo BAR を返します。

spacesToUnderscores(<String>)

パラメーターとして渡された文字列内のスペースをアンダースコアに置き換えます。例: spacesToUnderscores("foo bar BAZ")foo_bar_BAZ を返します。

substringBefore(<String>, <Delimeter>)

指定された区切り文字までの部分文字列を返します。これは、テストファイル名の拡張子を削除できます。例: component-test.js という名前のファイルで使用されている場合、substringBefore(fileName(),".")component-test を返します。

suggestIndexName()

最も一般的に使用されるものからの反復でインデックス変数の推奨名を返します: ijk など(現在のスコープで使用されていない最初の名前)。

反復グループ(foriitarritar)の事前定義されたテンプレートの一部は、suggestIndexName() 関数を使用して適切なインデックス変数名を提案します。

suggestVariableName()

変数の命名規則を参照するコードスタイル設定に従って、変数の型とその初期化式に基づいて変数の名前を提案します。

例: 反復内の要素を保持する変数の場合、AppCode は、反復されたコンテナーの名前を考慮して、最も妥当な名前を推測します。反復グループ(itaritcoiten)の事前定義テンプレートの一部は、suggestVariableName() 関数を使用して、反復された要素に適切な変数名を提案します。

time([format])

現在のシステム時刻を返します。

デフォルトでは、パラメーターなしで、現在のシステム形式で時刻を返します。別の形式を使用するには、SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。例: time("H:m z") は、13:10 UTC としてフォーマットされた時刻を返します。

underscoresToCamelCase(<String>)

下線付きの文字列(snake_case など)を camelCase に変換します。例: underscoresToCamelCase(foo_bar_baz)underscoresToCamelCase(FOO_BaR_baZ) はどちらも fooBarBaz を返します。

underscoresToSpaces(<String>)

文字列のアンダースコアをスペースに変換します。例: underscoresToSpaces(foo_bar_baz)foo bar baz を返し、underscoresToSpaces(FOO_BaR_baZ)FOO BaR baZ を返します。

user()

現在のユーザーの名前を返します。

variableForIteration()

ループ内で範囲式として使用されるオブジェクトのインスタンスである変数を返します。

variableForRangeBasedIteration()

begin および end 関数を含むオブジェクトのインスタンスである変数を返します。

variableOfType(<String>)

パラメーターとして渡された型に割り当てられる可能性のあるすべての変数を返します。例: variableOfType("NSString")

空の文字列 "" をパラメーターとして渡すと、関数は型に関係なくすべての変数を提案します。例については、Objective-C グループの logv ライブテンプレートを参照してください。この機能は Objective-C でのみ使用できます。

関連ページ:

テンプレート変数の編集ダイアログ

ライブテンプレートにユーザー定義変数が含まれている場合は、テンプレート変数の編集ダイアログを使用して、これらの変数を定義する式を構成できます。コントロール:名前このフィールドで、の形式で変数名を表示または編集します。式このフィールドでは、対応するテンプレート入力フィールドの値が自動的に計算されるように式を指定します。この式には、次の構成が含まれる場合があります。二重引用符で囲まれた文字列定数、ライブテンプレートで定義されている他の変数の名前、可能な引数を持つ事前定義された関数、式を手動で入力す

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。コード補完を呼び出すと、AppCode はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本補完を呼び出す名前の入力を開始します。デフォルトでは、AppCode は、入力時にコード補...

ライブテンプレートを作成する

次の手順例は、現在の日付とユーザー名でコメントのテンプレートを作成する方法を示しています。を押して IDE 設定を開き、を選択します。新しいライブテンプレートを作成するテンプレートグループを選択します。テンプレートグループを選択しない場合、ライブテンプレートがユーザーグループに追加されます。をクリックし、ライブテンプレートを選択します。テンプレートが使用可能になるコンテキストを指定します。デフォルトでは、コンテキストは指定されておらず、AppCode はダイアログの下部にメッセージを表示します。...

Emmet

Emmet ツールキットは、HTML、CSS、JSX によるコーディングを強化します。AppCode を移動せずに Emmet コードテンプレートを使用できます。テンプレートを正しいマークアップに展開するには、その略語を入力してを押します。ショートカットの変更については、略語拡張キーを構成するを参照してください。例: HTML ファイルでと入力し、を押して 3x2 テーブルのスタブを取得します。<table> <tr> <td></td> <...