原文(日本語)
アンカーフラグメント付きの@メンション(例: @README.md#installation)でファイル解決が失敗する問題を修正しました。
原文(英語)
Fixed file resolution failing for @-mentions with anchor fragments (e.g., @README.md#installation)
概要
Claude Code v2.1.41では、@メンション機能が強化され、ファイル名にアンカーフラグメント(#section-name)を指定できるようになりました。これにより、ドキュメント内の特定のセクションを直接参照できるようになり、より正確なコンテキストでClaude Codeとやり取りできます。
問題の詳細
修正前の動作
以前は、アンカーフラグメント付きのファイル参照がエラーになっていました:
bash
# エラーになっていた例
> @README.md#installation について教えてください
# → ファイル解決エラー
> @docs/API.md#authentication の例を見せてください
# → ファイル解決エラー修正後の動作
アンカーフラグメント付きの参照が正しく機能します:
bash
# 正常に動作するようになった例
> @README.md#installation について教えてください
# → README.mdのインストールセクションを参照
> @docs/API.md#authentication の例を見せてください
# → API.mdの認証セクションを参照基本的な使い方
Markdownのセクション参照
bash
# READMEの特定セクションを参照
> @README.md#getting-started の手順に従ってセットアップしました
# ドキュメントの特定部分について質問
> @CONTRIBUTING.md#code-style のルールに従っていますか?HTMLファイルのセクション参照
bash
# HTMLドキュメントのIDを参照
> @docs/index.html#features セクションを更新してください
# 特定の要素について質問
> @public/help.html#troubleshooting に新しい項目を追加実践例
ドキュメント作成時の参照
他のドキュメントの特定セクションを参照しながら新しいドキュメントを作成:
bash
> @README.md#installation と同じスタイルで、
> DEPLOYMENT.mdのインストールセクションを書いてください
> @docs/API.md#error-handling のパターンを参考に、
> エラー処理のドキュメントを作成してくださいコードレビュー時の参照
ドキュメントの特定セクションに準拠しているか確認:
bash
> このPRのコードが @CONTRIBUTING.md#naming-conventions
> に従っているか確認してください
> @docs/style-guide.md#component-structure の規約に
> 沿っているか教えてくださいトラブルシューティング
ドキュメントの特定セクションに基づいて問題解決:
bash
> エラーが発生しました。@README.md#troubleshooting
> に該当する解決策はありますか?
> @docs/FAQ.md#database-connection の情報を参考に、
> 接続エラーを修正してください機能実装時の仕様確認
仕様書の特定セクションを参照しながら実装:
bash
> @docs/spec.md#authentication-flow に記載されている
> フローを実装してください
> @ARCHITECTURE.md#data-layer の設計に従って、
> データアクセス層を実装してくださいドキュメント更新の依頼
特定セクションの更新を依頼:
bash
> @README.md#api-reference に新しいエンドポイント
> /api/v2/users を追加してください
> @CHANGELOG.md#unreleased セクションに
> 今日の変更を記録してくださいアンカーフラグメントの形式
Markdownのセクション
Markdownでは、見出しが自動的にアンカーになります:
markdown
# Getting Started → #getting-started
## Installation → #installation
### Quick Start → #quick-start使用例:
bash
> @README.md#getting-started
> @docs/guide.md#quick-start明示的なHTML ID
HTMLやMarkdownで明示的にIDが指定されている場合:
html
<h2 id="custom-id">セクション</h2>使用例:
bash
> @docs/index.html#custom-id複数ファイル・複数セクションの参照
複数のセクションを参照
bash
> @README.md#installation と @README.md#configuration
> の両方を確認してから、セットアップしてください複数ファイルの同名セクション
bash
> @frontend/README.md#setup と @backend/README.md#setup
> の両方のセットアップ手順を実行してくださいエディタとの連携
VS Codeでの使用
VS Codeのマークダウンプレビューと同じアンカー形式が使用できます:
bash
# VS Codeでジャンプできるリンクと同じ形式
> @docs/api.md#user-authenticationGitHub風のアンカー
GitHubのMarkdownと同じアンカー形式が利用可能:
bash
# GitHubのREADMEリンクと同じ
> @README.md#table-of-contents
> @CONTRIBUTING.md#pull-request-process注意点
- アンカーフラグメントは大文字小文字を区別します(環境による)
- Markdownの見出しからアンカーを生成する際、スペースはハイフン(
-)に変換されます - 特殊文字を含む見出しの場合、アンカーの形式がツールによって異なる場合があります
- 存在しないアンカーを指定した場合でも、ファイル全体が読み込まれます
- アンカーはあくまで"ヒント"として扱われ、Claude Codeは関連する周辺のコンテキストも参照する場合があります
トラブルシューティング
アンカーが見つからない場合
bash
# 見出しの形式を確認
> @README.md を開いて、正確な見出しを確認してください
# GitHubで確認
# GitHubのREADMEでリンクをクリックし、URLのアンカー部分を確認特殊文字を含む見出し
bash
# 特殊文字は通常削除またはエンコードされる
"How to use?" → #how-to-use
"C++ Guide" → #c-guide