AIコード補完
SidianのAIを活用したコード補完は、従来のIntelliSenseを超え、コードの意図とパターンを理解する、インテリジェントでコンテキストに応じた提案を提供します。
AIコード補完の仕組み
インテリジェントな分析
- コンテキストの理解: AIは、関連性の高い提案のためにコードベース全体を分析します
- パターン認識: コーディングパターンとスタイルから学習します
- マルチ言語サポート: さまざまなプログラミング言語に対応しています
- リアルタイム処理: 入力と同時に提案を提供します
高度な機能
- 行全体の補完: コード行全体を補完
- 複数行の提案: 関連するコードを複数行生成
- 関数の生成: コメントや名前に基づいて完全な関数を作成
- インポートの提案: 必要なインポートを自動的に提案し追加します
コード補完の有効化
基本的な設定
- サインイン: Sidianアカウントにサインインしていることを確認してください
- 機能の有効化: 設定 → プロバイダー/ローカルに移動し、コード補完を有効にする
- モデルの選択: 補完に最適なAIモデルを選択します
- 遅延の設定: 提案が表示されるまでの遅延時間を設定します(デフォルト:500ms)
設定オプション
- 提案数: 表示する提案の数(1〜5)
- 最小トリガー長: トリガーするまでの最小文字数(1〜3)
- 自動承認: 単一の提案を自動的に承認する
- インライン表示: ポップアップではなくインラインで提案を表示
コード補完の使用
基本的な使い方
- 入力を開始: サポートされている任意の言語でコードの入力を開始します
- 提案を待つ: 設定された遅延後、AIの提案が表示されます
- 提案を承認: Tabキーを押して、ハイライトされた提案を承認します
- 提案を切り替える: ↑/↓キーを使用して複数の提案を閲覧します
- 閉じる: 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モデルに切り替えてください
- 提案の頻度を減らしてください
- 利用可能な場合は、ローカル処理を有効にしてください
- 不要なファイルとタブを閉じてください
ベストプラクティス
- コンテキストを提供する: 説明的なコメントと変数名を記述します
- 辛抱強く: AIがコンテキストを分析する時間を取ってください
- 提案を確認する: 受け入れる前に、常に生成されたコードを確認してください
- ショートカットを学ぶ: 効率的な使用のためにキーボードショートカットをマスターしてください
- 設定をカスタマイズする: 開発スタイルに合わせて設定を調整してください
- フィードバックを提供する: フィードバックオプションを使用して提案を改善します
SidianのAIコード補完は、コードの品質を維持しながら、生産性を向上させるように設計されています。開発スタイルに合わせて機能を探索し、カスタマイズする時間をかけてください。