UStackUStack
Visual Studio IntelliCode icon

Visual Studio IntelliCode

Visual Studio と Visual Studio Code の IntelliCode は、コンテキストに基づくコード補完やクイック操作、リファクタ支援で効率と一貫性を向上。

Visual Studio IntelliCode

Visual Studio IntelliCode とは?

Visual Studio IntelliCode は、Visual StudioVisual Studio Code で提供される AI 支援開発機能 のセットです。コードのコンテキスト(変数名、関数、コードの種類など)を組み合わせ、より適切な提案を提供し、重複入力を減らし、コード補完の一貫性と正確性を向上させます。

IntelliCode の主な目標はワークフローを置き換えることではなく、より可能性の高いコード断片や一般的な操作をよく使う位置に配置することです。例えば、関連する補完項目を IntelliSense 完成リスト の上位に表示し、選択をより簡単・迅速にします。また、ローカル編集中に繰り返し編集を検知し、同じ(または類似)の変更を他の場所に素早く適用します。

さらに、IntelliCode はコンピューター上で動作し、専用コードのプライバシーを保つことを強調しています。

主な機能

  • 整行自動補完(code completion):コード補完で1行全体を一度に記入し、コンテキスト(変数名、関数、編集中のコード種類)に基づく適切な提案を提供。
  • 一般的な使用に基づく IntelliSense 並び替え:IntelliSense 完成リストの上位に「より可能性の高い内容」を配置。これらの提案は GitHub 上の数千のオープンソース貢献の分析に基づく。
  • コンテキスト認識のインテリジェント提案:現在編集中のコードコンテキストを考慮した提案で、補完を現在のシーン(扱っているコード種類や要素)に近づける。
  • 繰り返し編集検知と再利用(リファクタ支援):ローカルで繰り返し修正時、IntelliCode が繰り返し編集を検知し、同じ(または類似)の編集を他の場所に適用。変数名変更関連の検索・置換機能も含む。
  • クイックアクション提案(Quick Actions):一般的なコーディングタスクを識別し、対応するクイックアクションを提案(例: コンストラクタ生成やパラメータ追加。ページの例は参考)。
  • ローカル実行とプライバシー:IntelliCode はコンピューター上で動作し、専用コードのプライバシーを保つ。

Visual Studio IntelliCode の使い方

  1. 対応エディタで試用
    Visual Studio または Visual Studio Code で IntelliCode を使用。

  2. 対応言語を確認
    ページに記載の対応言語を使用し、補完・提案機能を利用:

    • Visual StudioC#、C++、Java、SQL、XAML
    • Visual Studio CodeTypeScript/JavaScript、Python
      その他の言語は公式対応範囲を確認。
  3. IntelliSense 完成リストの並び替え変化を観察
    コード入力時、IntelliSense 完成リストの上位提案に注目。IntelliCode はコンテキストと一般的な使用に基づき、より可能性の高い内容を上位に配置。

  4. 整行補完とクイックアクションを使用
    利用可能な整行自動補完や Quick Actions 提案を選択し、一般的なタスク(コンストラクタ生成やパラメータ追加など)を完了。

  5. 繰り返し編集とリファクタ支援の通知に注意
    複数箇所の類似・繰り返し修正時、編集を他の場所に再利用する通知や関連置換機能(変数名変更を含む)を確認。

ユースケース

  • C# プロジェクトで整行補完によりコーディングを高速化
    特定変数・関数構造のコードに対し、整行自動補完で逐字符入力を減らし、現在のコンテキストに適合した補完を実現。

  • TypeScript/JavaScript や Python で一般的な断片を素早く選択
    IntelliCode でより可能性の高い断片を IntelliSense 完成リスト上位に配置し、選択を高速化。

  • 繰り返しロジックの リファクタと一括置換
    複数箇所の類似編集(変数名調整含む)時、IntelliCode が繰り返しを識別し、編集を他の場所に適用。

  • クイックアクションで一般的なテンプレートコードを完了
    コンストラクタ生成やパラメータ追加などの場面で、IntelliCode のクイックアクション提案を使用。

  • 対応言語/シーンでプロジェクトに適合したカスタム提案を使用(該当する場合)
    ページで一部言語にカスタムメソッドやコードベース属性を追加可能とし、提案をプロジェクトスタイル・ニーズに適合。具体的な適用は公式説明を確認。

FAQ

1. IntelliCode は専用コードを外部にアップロードしますか?
ページで IntelliCode はコンピューター上で動作し、専用コードのプライバシーを確保すると説明。

2. どのエディタで Visual Studio IntelliCode が利用可能ですか?
ページで Visual StudioVisual Studio Code で使用可能と明記。

3. 対応言語は?
ページ記載:

  • Visual Studio:C#、C++、Java、SQL、XAML
  • Visual Studio Code:TypeScript/JavaScript、Python
    その他の言語は公式対応範囲を確認。

4. IntelliCode の提案と通常の IntelliSense の違いは?
ページで IntelliCode は IntelliSense 完成リスト上位に可能性の高い内容を配置し、コードコンテキストに基づく適切な提案を提供。また整行自動補完とクイックアクションをサポート。

代替案

  • 従来の IntelliSense/標準コード補完(AI 並び替えや整行予測なし)
    基本補完のみでコンテキスト認識 AI 並び替えや整行自動補完不要の場合、エディタ標準の IntelliSense を使用。

  • 他の AI ベースのコード補完・支援ツール
    類似「AI 支援プログラミング/コード補完」ツール選択時、対応エディタ・言語範囲、整行補完・リファクタ支援・クイックアクションの有無を比較。

  • IDE 組み込みのリファクタ・テンプレート生成機能(一部「リファクタ/テンプレート生成」ニーズ代替)
    コンストラクタ生成、パラメータ、繰り返しコード置換が主目的の場合、IDE 組み込みのリファクタ/テンプレートを優先評価し、追加 AI 提案の必要性を判断。

  • コード規範と自動チェック中心のワークフロー
    一貫性・保守性を重視し、補完速度や並び替え提案不要の場合、ルール・自動チェック(静的解析、コード整形化)中心で手動保守コストを低減。