Skip to content

AIコード補完

SidianのAIを活用したコード補完は、従来のIntelliSenseを超え、コードの意図とパターンを理解する、インテリジェントでコンテキストに応じた提案を提供します。

AIコード補完の仕組み

インテリジェントな分析

  • コンテキストの理解: AIは、関連性の高い提案のためにコードベース全体を分析します
  • パターン認識: コーディングパターンとスタイルから学習します
  • マルチ言語サポート: さまざまなプログラミング言語に対応しています
  • リアルタイム処理: 入力と同時に提案を提供します

高度な機能

  • 行全体の補完: コード行全体を補完
  • 複数行の提案: 関連するコードを複数行生成
  • 関数の生成: コメントや名前に基づいて完全な関数を作成
  • インポートの提案: 必要なインポートを自動的に提案し追加します

コード補完の有効化

基本的な設定

  1. サインイン: Sidianアカウントにサインインしていることを確認してください
  2. 機能の有効化: 設定 → プロバイダー/ローカルに移動し、コード補完を有効にする
  3. モデルの選択: 補完に最適なAIモデルを選択します
  4. 遅延の設定: 提案が表示されるまでの遅延時間を設定します(デフォルト:500ms)

設定オプション

  • 提案数: 表示する提案の数(1〜5)
  • 最小トリガー長: トリガーするまでの最小文字数(1〜3)
  • 自動承認: 単一の提案を自動的に承認する
  • インライン表示: ポップアップではなくインラインで提案を表示

コード補完の使用

基本的な使い方

  1. 入力を開始: サポートされている任意の言語でコードの入力を開始します
  2. 提案を待つ: 設定された遅延後、AIの提案が表示されます
  3. 提案を承認: Tabキーを押して、ハイライトされた提案を承認します
  4. 提案を切り替える: /キーを使用して複数の提案を閲覧します
  5. 閉じる: Escキーを押して提案を閉じます

キーボードショートカット

アクションショートカット説明
提案を承認Tab現在の提案を承認する
次の提案 または Ctrl+次の提案に移動する
前の提案 または Ctrl+前の提案に移動する
提案を閉じるEsc提案のポップアップを閉じる
強制トリガーCtrl+Space手動で提案をトリガーする

補完の種類

変数と関数の名前

  • スマートネーミング: コンテキストに基づいて意味のある変数名を提案します
  • キャメルケース: 名前の適切なケースを自動的にフォーマットします
  • 型推論: 推論された型に基づいて名前を提案します
  • 規約遵守: 言語固有の命名規約に従います

コードパターン

  • 一般的なパターン: 一般的なコーディングパターンを認識して補完します
  • 定型コード: クラス、関数などの標準的な定型コードを生成します
  • エラー処理: 適切なエラー処理パターンを提案します
  • APIの使用法: ドキュメントに基づいてAPI呼び出しを補完します

言語固有の機能

JavaScript/TypeScript

  • Promise処理: 非同期/awaitおよびPromiseの補完
  • Reactコンポーネント: JSXおよびReactフックパターン
  • Node.jsモジュール: CommonJSおよびES6インポート/エクスポート
  • 型注釈: TypeScriptの型の補完

Python

  • リスト内包表記: 複雑なリスト内包表記パターン
  • デコレータ: 関数およびクラスデコレータの提案
  • コンテキストマネージャー: Withステートメントの補完
  • パッケージのインポート: インテリジェントなインポート提案

Java

  • ストリーム操作: Java 8+ストリームメソッドチェーン
  • 例外処理: Try-catchブロックの補完
  • 注釈の使用: Spring、JPA、およびその他のフレームワーク注釈
  • ジェネリック型: ジェネリック型パラメータの補完

C#

  • LINQクエリ: 複雑なLINQ式の補完
  • 非同期パターン: タスクベースの非同期パターン
  • プロパティ定義: 自動プロパティおよび完全プロパティパターン
  • 属性の使用: フレームワーク固有の属性補完

高度な機能

コンテキストに応じた提案

  • プロジェクトコンテキスト: プロジェクト構造と依存関係を理解します
  • ファイルコンテキスト: 現在のファイル内のインポート、変数、関数を考慮します
  • 選択コンテキスト: 選択されたコードに基づいて関連性の高い提案を提供します
  • コメント駆動型: コメントとドキュメントに基づいてコードを生成します

学習と適応

  • 使用パターン: 承認および拒否された提案から学習します
  • コードスタイル: コーディングスタイルと好みに適応します
  • プロジェクト固有: プロジェクト固有のパターンを学習します
  • チームの一貫性: チームのコーディング標準との一貫性を維持します

多言語プロジェクト

  • 言語横断: さまざまな言語間の関係を理解します
  • API境界: 言語間の適切なインターフェースを提案します
  • 設定ファイル: JSON、YAML、XMLの設定を補完します
  • テンプレート言語: HTML、CSS、およびテンプレートエンジンをサポート

カスタマイズ

モデル選択

  • 高速モデル: 迅速な提案ですが、精度は低めです
  • バランスモデル: スピードと精度のバランスが取れています
  • 高度なモデル: 最高の精度ですが、処理時間は長くなります
  • ローカルモデル: プライバシーを重視したオフライン処理

フィルタリングオプション

  • 言語フィルタ: 特定の言語を有効/無効にします
  • ファイルタイプフィルタ: 異なるファイルタイプでの補完を制御します
  • プロジェクトフィルタ: プロジェクトごとに異なる設定
  • コンテキストフィルタ: コードコンテキスト(コメント、文字列など)に基づいてフィルタリングします

パフォーマンスチューニング

  • キャッシュ設定: 提案のキャッシュを設定します
  • ネットワークタイムアウト: クラウドベースのモデルのタイムアウトを設定します
  • バッチ処理: 効率のために複数のリクエストをグループ化します
  • リソース制限: CPUとメモリの使用を制御します

トラブルシューティング

よくある問題

提案が表示されない

  • 設定でコード補完が有効になっているか確認してください
  • サインインしていて、有効なサブスクリプションを持っていることを確認してください
  • クラウドモデルの場合: インターネット接続を確認してください
  • ローカルモデルの場合: Ollama/LM Studioが実行中であることを確認してください
  • トリガー遅延を増やしてみてください

提案が遅い

  • より高速なAIモデルに切り替えてください
  • 表示される提案の数を減らしてください
  • ネットワーク接続速度を確認してください
  • 提案キャッシュをクリアしてください

無関係な提案

  • さらに文字を入力して、より多くのコンテキストを提供してください
  • AIをガイドするためにコメントを使用してください
  • 正しい言語が検出されているか確認してください
  • 別のAIモデルを試してください

高いリソース使用量

  • より軽量なAIモデルに切り替えてください
  • 提案の頻度を減らしてください
  • 利用可能な場合は、ローカル処理を有効にしてください
  • 不要なファイルとタブを閉じてください

ベストプラクティス

  1. コンテキストを提供する: 説明的なコメントと変数名を記述します
  2. 辛抱強く: AIがコンテキストを分析する時間を取ってください
  3. 提案を確認する: 受け入れる前に、常に生成されたコードを確認してください
  4. ショートカットを学ぶ: 効率的な使用のためにキーボードショートカットをマスターしてください
  5. 設定をカスタマイズする: 開発スタイルに合わせて設定を調整してください
  6. フィードバックを提供する: フィードバックオプションを使用して提案を改善します

SidianのAIコード補完は、コードの品質を維持しながら、生産性を向上させるように設計されています。開発スタイルに合わせて機能を探索し、カスタマイズする時間をかけてください。