見出し画像

Cursorのシンボル機能のまとめ

Cursorのシンボル機能が増えていたのと、使い方を整理したかったのでまとめました


@Files

使い方:

  • 特定のファイルの内容を参照したい時に使用します。

  • 構文: `@ファイル名` または `@パス/ファイル名`

具体例:

@main.py
@src/utils/helpers.js

ユースケース:

  1. コードレビュー時に特定のファイルの内容を確認する

  2. バグ修正時に関連するファイルの内容を参照する

  3. 設定ファイルの内容を確認しながら設定変更の相談をする


@Folders

使い方:

  • 特定のフォルダ内のファイル一覧や構造を参照したい時に使用します。

  • 構文: `@フォルダ名/` または `@パス/フォルダ名/`

具体例:

@src/
@tests/unit/

ユースケース:

  1. プロジェクト構造の確認や説明を求める時

  2. 特定のモジュールやコンポーネントが格納されているフォルダを探す時

  3. テストファイルの配置を確認する時


@Code

使い方:

  • 特定のコードブロック、関数、クラスなどを参照したい時に使用します。

  • 構文: `@Code:識別子`

具体例:

@Code:UserAuthentication
@Code:calculateTotalPrice

ユースケース:

  1. 特定の関数やクラスの実装詳細を確認する時

  2. コードの特定部分についてリファクタリングの提案を求める時

  3. アルゴリズムの最適化について相談する時


@Docs

使い方:

  • プロジェクト内のドキュメントを参照したい時に使用します。

  • 構文: `@Docs:ドキュメント名`

具体例:

@Docs:API
@Docs:CONTRIBUTING

ユースケース:

  1. APIの使用方法や仕様を確認する時

  2. プロジェクトのコントリビューションガイドラインを参照する時

  3. アーキテクチャドキュメントを確認しながら設計の相談をする時


@Git

使い方: Gitリポジトリの情報を参照したい時に使用します。

構文: @Git:コマンドまたは情報

具体例:

@Git:log
@Git:diff
@Git:blame

ユースケース:

  • 最近のコミット履歴を確認する時

  • 特定のファイルの変更履歴を調べる時

  • コードの特定部分の作者や変更理由を調査する時

注意: 現在、@Gitはカーソルチャットでのみサポートされています。カーソルのチャットでは、@Gitを使用して、git コミット、差分、またはプルリクエストをプロンプトに追加できます。


@Codebase

使い方: プロジェクト全体のコードベースを参照したい時に使用します。

構文: @Codebase

具体例:

@Codebase

ユースケース:

  • プロジェクト全体の構造や依存関係を分析する時

  • 特定の機能がプロジェクトのどこに実装されているか探す時

  • コーディング規約の一貫性をチェックする時

注意: @Codebaseを使用することで、カーソルチャットは以下の手順を実行します。

  1. 収集: コードベースをスキャンして重要なファイルやコードチャンクを探す。

  2. 再ランク付け: クエリとの関連性に基づいてコンテキスト項目を並べ替える。

  3. 推論: 文脈を活用する計画を考える。

  4. 生成: 応答を考え出す。

高度なコードベースクエリを送信する別の方法は、Ctrl/⌘ + Enterボタンの横にあるドロップダウンをクリックして、再ランク付け検索動作を選択することです。これは、@Codebaseが使用されていない場合にのみ使用可能で、それ以外の場合は@Codebaseが優先されます。


@Web

使い方: ウェブ上の情報やリソースを参照したい時に使用します。

構文: `@Web:検索キーワードまたはURL`

具体例:

・Why is this running twice as a next.js server action? @Web
・How to use React hooks effectively @Web
・next.jsのサーバーアクションとして2回実行されるのはなぜ? @web
・Reactのフックを効果的に使う方法 @Web

ユースケース:

  • 外部ライブラリやフレームワークのドキュメントを参照する時

  • プログラミング言語の仕様や最新情報を確認する時

  • ベストプラクティスや設計パターンについて調べる時

注意: @Webを使用すると、Cursorはクエリと指定されたコンテキストに基づいて検索クエリを作成し、ウェブを検索して関連情報を追加のコンテキストとして見つけます。これは、最新の情報を見つけるのに特に便利です。

常にオン: Cursor settingsのFeaturesの下にある「常に Web を検索する」をオンにすると、クエリごとにCursorがWebでチャットを検索するように設定できます。これは、クエリごとに@Webを使用するのと同じです。



@Chat

使い方:
Cmd+K を使用すると、現在のチャット メッセージをコンテキストとして追加できます。
コードの編集や生成に適用したい AI との会話がある場合に便利です。

ユースケース:

  • コードレビュー
     過去のチャットメッセージを参照しながら、コードのレビューやフィードバックを効率的に行うことができます。

  • バグ修正
    チャットの履歴をコンテキストに追加することで、以前に報告されたバグやその修正方法を再確認しながら修正作業を進めることができます。


@Definitions

使い方:

  • シンボル@Definitionsは、近くにあるすべての定義をコンテキストとしCmd+K に追加します。

上記の通りと公式ドキュメントにあり調べたり色々試してみましたが@Definitionsの使い方・使い所がよくわからなかったのでCursor公式にイシューなど投げてみます


この記事が気に入ったらサポートをしてみませんか?