Copy Path With Line Range
エディタでの選択状態に応じて、プロジェクトルートからの相対パスと行番号をクリップボードへコピーする VS Code 拡張機能です。
使い方
- エディタで
cmd + shift + C(macOS)を押します。
- 他 OS の既定は
ctrl+alt+c です。必要に応じて keybindings.json で変更してください。
- 挙動
- カーソルのみ(未選択)のとき:
path/to/file.ts
- 1 行だけ選択しているとき(行の一部でも可):
path/to/file.ts:L99
- 複数行を選択しているとき:
path/to/file.ts:L2−10
- 行範囲の区切りにはマイナス記号
−(U+2212)を使用します(ASCII のハイフン - ではありません)。
- 複数選択(マルチカーソル/矩形選択など)の場合は、選択範囲を結合した最小〜最大行を出力します。
相対パスは Git リポジトリルート(またはモノレポルート)を基準に算出します。見つからない場合はワークスペースを基準にし、ワークスペース外のファイルは絶対パスになります。
コマンド
Copy Path With Line Range(コマンド ID: copy-path-with-line-range.copy)
インストール/ビルド
この拡張は TypeScript + esbuild で構築しています。以下のコマンドでビルドできます。
pnpm install
pnpm compile
VS Code の「実行とデバッグ」から Extension を起動すると、開発ホストで動作を確認できます。
技術メモ
- 依存パッケージ構成は VS Code 公式サンプル(webview-sample)の
package.json を参考に、esbuild によるバンドルと @types/vscode を採用しています。
- 行番号は 1 始まりで出力します。
- 選択終了が行頭(列 0)にある場合は、前行を終端とみなして範囲を算出します。
ライセンス
MIT
| |