AppCode 2023.1 ヘルプ

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。

基本補完

基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。

コード補完を呼び出すと、AppCode はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。

基本補完を呼び出す

  1. 名前の入力を開始します。デフォルトでは、AppCode は、入力時にコード補完ポップアップを自動的に表示します。

    自動補完が無効になっている場合は、Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択します。

  2. 候補リストを絞り込むには、予想される名前またはキーワードの任意の部分を入力するか(途中の文字も使用できます)、ドット区切りの後にコード補完を呼び出します。AppCode は、任意の位置に入力された文字を含む提案を示します。

    CamelCase または snake_case の名前の場合、最初の文字のみを入力でき、AppCode は適切な提案を表示します。

    Basic completion with camel case
  3. Enter を押して適切な提案を受け入れます。次のこともできます。

    • リスト項目をダブルクリックして、キャレットの左側に挿入します。

    • Tab を押して、キャレットから右にある文字を置き換えます。

    • Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。

型一致補完

スマート型一致コード補完は候補リストをフィルタリングし、現在のコンテキストに適用可能なタイプのみを表示します。例: 予想されるクラスのコンストラクターまたはファクトリメソッドを提案できます。

型一致補完を呼び出す

  1. 入力を開始します。デフォルトでは、AppCode は入力時に自動的にコード補完ポップアップを表示します。自動補完が無効になっている場合は、Ctrl+Shift+Space を押すか、メインメニューからコード | コード補完 | 型一致を選択します。

  2. Ctrl+Shift+Space を押すか、メインメニューからコード | コード補完 | 型一致を選択してください。

    Smart type completion
  3. 必要なら、もう一度 Ctrl+Shift+Space を押してください。AppCode はチェーンされたメソッド呼び出しを通して検索することができる期待されたタイプの値を調べます。

ステートメント補完

文の補完を使用して、構文的に正しいコード構成体を作成できます。必要な構文要素(括弧、中括弧、セミコロン)を挿入して、次のステートメントの入力を開始できる位置に移動します。

メソッド宣言を補完する

  • メソッド宣言の入力を開始して Ctrl+Shift+Enter を押します。

    Complete a method declaration

コード構成を補完する

  • コード構成の入力を開始し、Ctrl+Shift+Enter を押します。

    AppCode は、構成を自動的に補完し、必要な句読点を追加します。キャレットは次の編集位置に配置されます。

    Complete a code construct

ヒッピー補完

ヒッピー補完は、目に見える範囲でテキストを分析し、現在のコンテキストから提案を生成する補完エンジンです。それは現在開いているファイルのどれからでもどんな単語でも補完するのに役立ちます。

Hippie completion

キャレットの文字列を既存の単語に展開する

  1. 最初の文字列を入力し、次のいずれかを実行します。

    • Alt+/ を押すか、コード | コード補完 | 単語の補完を選択して、キャレットの前に一致する単語を検索します。

    • Alt+Shift+/ を押すか、コード | コード補完 | 単語の補完(後方)を選択して、キャレットの後ろにある他の開いているファイルで一致する単語を検索します。

    提案された最初の値が表示され、プロトタイプがソースコードでハイライトされます。

  2. 提案を受け入れるか、Alt キーを押しながら希望の単語が見つかるまで / を押し続けます。

後置コード補完

後置コード補完を使うと、コードを書くときの後方キャレット移動を減らすことができます。すでにタイプされた式は、ドット、式のタイプ、そのコンテキストの後に入力する接尾辞に基づいて別のものに変換できます。

後置の補完を有効にして設定する

  • 設定ダイアログ (Ctrl+Alt+S) で、エディター | 一般 | 後置補完を開き、後置補完を有効にするチェックボックスを選択します。

  • 接尾辞テンプレートの展開に使用する TabSpaceEnter を選択します。

  • 選択した言語の特定の接尾辞テンプレートを有効 / 無効にします。

後置でステートメントを変換する

  • 式を入力し、ドットの後に接尾辞を入力します(例: .if:)。

    function m(arg) { arg.if }

    最初の式は if ステートメントでラップされます。

    function m(arg) { if (arg) { } }

たとえば、長いキーを短いキーに置き換えるか、適用可能な式の種類のリストを展開するなど、あらかじめ定義されたポストフィックステンプレートを編集できます。

カスタム後置テンプレートを作成する

  1. Ctrl+Alt+S を押して IDE 設定を開き、エディター | 一般 | 後置補完を選択します。

  2. ツールバーの追加ボタン(the Add button)をクリックします。

  3. テンプレートを呼び出すシンボルの組み合わせであるキーを指定します。

  4. 新しいテンプレートを適用できる式の種類を選択し、ターゲットの式を次の形式で入力します: $EXPR$ <target_expression>、たとえば $EXPR$ =!null

タグと属性の補完

AppCode は、多くのファイルタイプのタグと属性の名前と値を自動的に補完します。

タグと属性名の補完は、ファイルが関連付けられている DTD またはスキーマに基づいています。スキーマ関連がない場合、AppCode はファイル内容(タグと属性名とその値)を使用して入力を補完します。

タグ名の補完

  1. < を押し、タグ名の入力を開始します。AppCode は、現在のコンテキストで適切なタグ名のリストを表示します。

    Tags completion

    UpDown のボタンを使ってリストをスクロールします。

  2. Enter を押して、リストから選択を受け入れます。ファイルがスキーマまたは DTD に関連付けられている場合、AppCode はそれに応じて必須属性を自動的に挿入します。

機械学習支援コード補完

AppCode を使用すると、他のユーザーが同様の状況で行った選択に基づいて、補完の提案に優先順位を付けることができます。

ML 補完メカニズムは新しい要素を追加しませんが、コードから取得した要素を順序付けます。データはどこにも公開されていません。ローカルで収集されます。

ML 補完を有効にする

  1. Ctrl+Alt+S を押して IDE 設定を開き、エディター | 一般 | コード補完を選択します。

  2. 機械学習支援による補完で、機械学習に基づいてコード補完の候補を並び替えオプションを有効にし、ML 補完を使用する言語を選択します。

    ML-assisted completion settings

関連性マーカーを有効にする

  1. Ctrl+Alt+S を押して IDE 設定を開き、エディター | 一般 | コード補完を選択します。

  2. 次のオプションを有効にします。

    • 補完ポップアップで順位の変更箇所に印を付ける : Machine Learning ranking Up および Machine Learning ranking Down アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストを上下に移動したことを示します。

    • 補完ポップアップで最も関連性の高い項目に印を付ける : ML relevant proposal アイコンを使用して、リストで最も適切な提案を示します。

    候補リストは次のようになり、アイコンは並べ替えられたことを示し、最も関連性の高いアイテムが表示されます。

    ML-assisted completion

コード補完設定の構成

コード補完オプションを構成するには、IDE 設定 Ctrl+Alt+Sエディター | 一般 | コード補完ページに移動します。

次の設定を選択できます。

項目

説明

大 / 小文字を区別する

補完候補で大文字と小文字を区別するかどうかを選択します。最初の文字を大文字にするか、すべての文字を大文字にするかを選択します。

単一の候補を自動的に挿入

基本的および / またはスマートな型一致の補完に関する提案が 1 つしかない場合に、コードを自動的に補完するかどうかを選択します。

候補をアルファベット順に並べ替え

候補リスト内のアイテムを、関連性で並べ替えるのではなく、アルファベット順に並べ替える場合に選択します。

この動作は、候補リストの App actions more をクリックして名前で並べ替えオプションを切り替えることにより、いつでも変更できます。

入力時に候補を表示する

明示的に補完を呼び出さなくても、候補リストが自動的に呼び出されるようにする場合に選択します。このオプションはデフォルトで有効になっています。

ドキュメントのポップアップ表示までの時間

選択リストの各項目のポップアップを自動的に表示し、現在、ルックアップリストでハイライトされているクラス、メソッド、フィールドのドキュメントを表示する場合に選択します。

右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒)を指定します。

可能な場合は丸括弧を自動的に挿入

このオプションが有効になっている場合、関数 / メソッドを補完すると、AppCode は開き括弧と閉じ括弧のペアを自動的に挿入します。

Insert parentheses on completion is enabled

チェックボックスをオフにすると、括弧の挿入が自動的に抑制されます。

Enter の代わりに開き括弧 ( を使用して、補完リストから選択した項目を適用すると、オプションがオンかオフかに関係なく、括弧が自動的に挿入されます。

Insert parentheses on completion is disabled. Parentheses are still inserted on completion with an opening brace.

機械学習支援による補完

機械学習に基づいてコード補完の候補を並び替え

機械学習モデルを利用して、候補リストで最も適切なアイテムを上位にランク付けするかどうかを選択します。機械学習に基づいて提案を有効にする言語を選択します。

補完ポップアップで順位の変更箇所に印を付ける

Machine Learning ranking Up および Machine Learning ranking Down アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストの上下に移動したことを示します。

補完ポップアップで最も関連性の高い項目に印を付ける

ML relevant proposal アイコンを使用して、リストで最も適切な提案を示します。

JavaScript

型ベース補完のみ

デフォルトでは、AppCode は、型に関係なく、シンボルの補完を提案します。このアプローチでは、複雑な場合、リストに複数の補完バリアントが表示されます。

補完をより正確にするには、このオプションを選択します。補完リストは、AppCode の推論に強く依存します。その結果、推論が不十分な場合にリストが空のままになることがあります。

Null 許容型に対するオプショナルチェイニングの使用を提案

デフォルトでは、AppCode はオプショナルチェイニング演算子 (?) でシンボルの補完を提案します。この動作を抑制するには、このチェックボックスをオフにします。

補完時にメソッド本体をオーバーライド用に展開する

デフォルトでは、親クラスまたはインターフェースからメソッドをオーバーライドし、補完候補のリストからこのメソッドを選択する場合、AppCode はパラメーターを自動的に追加し、可能であれば super() 呼び出しを生成し、型情報を追加します。

このチェックボックスをオフにすると、補完時にオーバーライドのメソッド本体が自動的に生成されなくなります。

名前の補完

  • 変数とパラメーターの名前を提案 : デフォルトでは、チェックボックスはオフになっています。選択すると、AppCode は宣言時に新しい変数とパラメーターの名前を提案します。これらの提案は、プロジェクト、使用しているライブラリ、標準 API で定義されているクラス、型、インターフェースの名前に基づいています。

  • クラスフィールドの名前を提案

    このオプションはデフォルトでオフになっています。

  • 推奨されるパラメーター名に対して、型アノテーションを追加 : このチェックボックスを選択すると、補完候補ごとにその型に関する情報が提供されます。

    このチェックボックスは、変数とパラメーターの名前を提案チェックボックスが選択されている場合にのみ使用できます。

補完のヒントとテクニック

補完ポップアップから補完設定を開く

補完ポップアップから直接コード補完設定にすばやくアクセスできます。

  • 補完ポップアップの App actions more アイコンをクリックして、コード補完設定を選択します。

    Opening completion settings

その後、IDE 設定 Ctrl+Alt+Sエディター | 一般 | コード補完ページが開きます。

リファレンスを表示する

  • 候補リストの項目を選択するときに Ctrl+Shift+I を押すと、クイック定義ビューを使用できます。

    Quick definition in completion
  • 候補リストの項目を選択するときに Ctrl+Q を押すと、クイック情報ビューを使用できます。

    Quick documentation

メソッドパラメーターのプレースホルダを使用する

候補リストからメソッド呼び出しを選択すると、IDE はパラメーターの名前と型を含む引数値のプレースホルダを挿入します。

Parameters placeholders

候補リストから選択を補完すると、プレースホルダを実際の引数値に置き換えることができます。

    トラブルシューティング

    コード補完が機能しない場合は、次のいずれかの理由が考えられます。

    • 省電力モードがオンです(ファイル | 省電力モード)。これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。

    • プロジェクト用に SDK が構成されていません。

    • ファイルがコンテンツルートに存在しないため、コード補完に必要なクラス定義とリソースを取得できません。

    • 補完候補リストに表示するクラスと関数を含むファイルは、プレーンテキストファイルとしてマークされています。

    • 補完候補リストに表示する関数を含む外部ライブラリは、依存関係またはグローバルライブラリとして追加されません。

    • 補完オプションの収集に時間がかかりすぎると、コード補完ポップアップが自動的に表示されないことがあります。例: コンピューターが別のタスクでビジー状態の場合。この場合、Ctrl+Space ホットキーを介して手動で補完ポップアップを有効にすることができます。

    関連ページ:

    ライブテンプレート

    ライブテンプレートを使用して、ループ、条件、宣言、print ステートメントなどの一般的な構造をコードに挿入します。コードスニペットを展開するには、対応するテンプレートの省略形を入力してを押します。を押し続けると、テンプレート内の 1 つの変数から次の変数に移動します。を押して、前の変数に移動します。必要な略語がわからない場合は、を押して、現在のコンテキストで使用可能なテンプレートのリストを開きます。ライブテンプレートの種類:次のタイプのライブテンプレートが区別されます。シンプルなテン

    ファイルタイプの関連付け

    AppCode は、さまざまな言語やテクノロジを表すファイルの言語固有の機能(構文のハイライトやコード分析など)について、ファイルタイプのリストを保持します。各ファイルタイプは、言語サービスを 1 つ以上のファイル名パターンにリンクします。ファイルタイプのデフォルトリストには、関連するすべてのファイル名パターンが含まれていますが、カスタム言語ファイルに新しいファイルタイプを追加したり、既存のファイルタイプに関連付けられたファイル名パターンを変更したりできます。エディターでファイルを開くと、App...

    スタイルシート

    AppCode を使用すると、Sass、Less、SCSS、Stylus など、CSS およびそれにコンパイルされるさまざまな言語でスタイル定義を記述できます。スタイルシートのドキュメントの検索、ルールセットの作成と移動、変数の導入などもできます。始める前に:CSS プラグインが設定で有効になっていることを確認します。を押して IDE 設定を開き、を選択します。インストール済みタブをクリックします。検索フィールドに CSS と入力します。プラグインの詳細については、プラグインのマッピングを参照してくだ...

    React

    React は、カプセル化されたコンポーネントから複雑なインタラクティブユーザーインターフェースを構築するための JavaScript ライブラリです。React オフィシャル Web サイトからライブラリの詳細を参照してください。AppCode は、React と統合され、lint の設定、編集、実行、デバッグ、アプリケーションの保守を支援します。始める前に:お使いのコンピューターに Node.js がインストールされていることを確認してください。JavaScript and TypeScript...

    Emmet

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

    npm、pnpm、Yarn

    AppCode は npm、pnpm、Yarn、Yarn 2、Yarn 3 と統合されているため、組み込みのターミナルで、IDE 内から再利用可能なコードのパッケージをインストール、検索、更新、削除できます。AppCode では、npm、Yarn、pnpm スクリプトを実行およびデバッグすることもできます。AppCode は、package.json ファイルを解析し、スクリプトの定義を認識し、ツリービューにスクリプトを表示し、ツリー内のスクリプトと package.json ファイル内のその定義の間を...