VSCode(Visual Studio Code)では、ファイル名やファイルパスをコピーする方法がいくつかあります。
ただし、「ファイル名だけをコピーしたい」のか、「絶対パスをコピーしたい」のか、「相対パスをコピーしたい」のかによって、適した操作は異なります。
ここでは、VSCodeでファイル名やパスをコピーする代表的な方法を、それぞれ詳しく解説します。
VSCodeでファイル名だけをコピーする方法
エクスプローラーでF2を押してコピーする
VSCodeの標準機能では、「ファイル名だけをコピーする」専用操作は、パスをコピーする機能ほど分かりやすく用意されていません。
そのため、ファイル名だけをコピーしたい場合は、エクスプローラーで対象ファイルを選択して、名前変更状態からコピーする方法が簡単です。
手順は次のとおりです。
- VSCode左側のエクスプローラーを開く
- コピーしたいファイルを選択する
F2キーを押す- ファイル名の文字列をコピーする
Escキーを押して名前変更をキャンセルする
たとえば、
index.html
というファイルであれば、そのファイル名だけをコピーできます。
なお、F2は「ファイル名をコピーするショートカット」ではありません。
エクスプローラー上ではファイル名変更の操作に使えますが、コードエディター上ではシンボル名の変更など、別の機能として使われる場合があります。
そのため、ファイル名だけをコピーしたい場合は、必ずエクスプローラーで対象ファイルを選択してから操作するのがポイントです。
VSCodeでファイルの絶対パスをコピーする方法
右クリックして「パスのコピー」を選択する
ファイル名だけではなく、ファイルが保存されている場所を含む完全なパスをコピーしたい場合は、「パスのコピー」を使用します。
VSCodeのエクスプローラーで対象ファイルを右クリックし、
パスのコピー
を選択します。
英語表示の場合は、
Copy Path
です。
たとえばWindowsで、
C:\Users\user\project\src\index.js
というファイルがある場合、このような絶対パスをコピーできます。
macOSやLinuxでは、
/Users/user/project/src/index.js
のような形式になります。
絶対パスは、ファイルがPC上のどこに保存されているかを正確に示したい場合に便利です。
ショートカットでファイルパスをコピーする方法
Windows・LinuxではCtrl+KのあとにPを押す
現在エディターで開いているファイルのパスは、ショートカットでもコピーできます。
Windows・Linuxでは、
Ctrl + K
↓
P
の順番で押します。
これは、
Ctrl + K + P
を3つ同時に押すわけではありません。
まずCtrl + Kを押し、そのあとにPを押します。
この操作により、現在アクティブになっているファイルのパスをコピーできます。
macOSではCommand+KのあとにPを押す
macOSでは、
Command + K
↓
P
の順番で操作します。
マウスを使わずに現在のファイルパスをコピーできるため、頻繁にパスを貼り付ける場合に便利です。
VSCodeで相対パスをコピーする方法
「相対パスのコピー」を利用する
VSCodeでは、絶対パスだけでなく、ワークスペースフォルダーを基準にした相対パスもコピーできます。
たとえば、次のようなフォルダー構成があるとします。
my-project
├─ package.json
└─ src
└─ components
└─ Header.jsx
my-projectをVSCodeのワークスペースとして開いている場合、Header.jsxの相対パスは、
src/components/Header.jsx
のようになります。
相対パスをコピーする場合は、エクスプローラーで対象ファイルを右クリックし、
相対パスのコピー
を選択します。
英語表示では、
Copy Relative Path
です。
相対パスはワークスペースフォルダーが基準になる
相対パスについては、「プロジェクトフォルダーを基準にする」と説明されることもありますが、より正確には、VSCodeで開いているワークスペースフォルダーが基準になります。
たとえば、
C:\Users\user\project
をワークスペースとして開いていて、
C:\Users\user\project\src\main.py
というファイルがある場合、相対パスは、
src\main.py
のようになります。
なお、パス区切り文字はOSによって異なります。
Windowsでは、
\
が使われることがあり、macOSやLinuxでは、
/
が使われます。
ファイル名・相対パス・絶対パスの違い
ファイル名とは
ファイル名は、そのファイル自体の名前です。
たとえば、
index.html
がファイル名です。
ファイル名だけをチャットやドキュメントなどに貼り付けたい場合は、この形式が適しています。
相対パスとは
相対パスは、ワークスペースフォルダーなどを基準にして、対象ファイルまでの場所を示すものです。
たとえば、
src/index.html
のような形式です。
Gitやチーム開発、コード内でのファイル参照などでは、絶対パスより相対パスのほうが扱いやすい場合があります。
絶対パスとは
絶対パスは、PC上でのファイルの場所を最初から最後まで示したものです。
Windowsでは、
C:\Users\user\Documents\project\src\index.html
macOSでは、
/Users/user/Documents/project/src/index.html
のようになります。
絶対パスは、ターミナルでファイルを指定したり、ファイルの保存場所を正確に伝えたりする場合に便利です。
コマンドパレットからパスをコピーする方法
コマンドパレットを開く
ショートカットを覚えていない場合は、コマンドパレットから関連コマンドを検索することもできます。
Windows・Linuxでは、
Ctrl + Shift + P
macOSでは、
Command + Shift + P
を押してコマンドパレットを開きます。
そのあと、
Copy Path
などと入力すると、パスのコピーに関連するコマンドを検索できます。
コマンド名を確認しながら操作したい場合に便利です。
tasks.jsonなどでファイル名を取得する方法
${fileBasename}でファイル名を取得する
VSCodeでは、tasks.jsonやlaunch.jsonなどの設定ファイル内で、現在開いているファイルの情報を変数として取得できます。
現在のファイル名を取得したい場合は、
${fileBasename}
を使用します。
たとえば現在開いているファイルが、
C:\project\src\index.js
の場合、
${fileBasename}
は、
index.js
に展開されます。
${fileBasenameNoExtension}で拡張子なしのファイル名を取得する
拡張子を除いたファイル名だけを取得したい場合は、
${fileBasenameNoExtension}
を使います。
たとえば、
index.js
というファイルなら、
index
として取得できます。
${file}で現在のファイルパスを取得する
現在開いているファイルのパスを取得したい場合は、
${file}
を使用します。
たとえば、
C:\project\src\index.js
を開いている場合、このパスが変数として展開されます。
${relativeFile}で相対パスを取得する
現在開いているファイルの相対パスを取得したい場合は、
${relativeFile}
を利用できます。
たとえば、
C:\project
をワークスペースとして開いていて、
C:\project\src\index.js
を編集している場合、
${relativeFile}
は、
src\index.js
のようになります。
これらの変数は、ファイル名をクリップボードへコピーする機能ではありません。
タスクやデバッグ設定の中で、現在のファイル情報を自動的に利用したい場合に使う機能です。
VSCodeでコピー方法を使い分ける
ファイル名だけ欲しい場合
次のような情報が欲しい場合は、
index.html
エクスプローラーで対象ファイルを選択し、F2で名前変更状態にしてコピーする方法が手軽です。
ワークスペース基準のパスが欲しい場合
次のような情報が欲しい場合は、
src/index.html
「相対パスのコピー」を利用します。
PC上の完全なパスが欲しい場合
次のような情報が欲しい場合は、
C:\Users\user\project\src\index.html
「パスのコピー」を利用します。
現在開いているファイルであれば、Windows・LinuxではCtrl+KのあとにP、macOSではCommand+KのあとにPでもコピーできます。
VSCodeでファイル名をコピーするときの注意点
F2はファイル名コピー専用ではない
F2は、VSCode全体でファイル名をコピーするための専用ショートカットではありません。
エクスプローラー上ではファイル名の変更操作に使えますが、エディター上では別の機能として動作する場合があります。
ファイル名だけをコピーしたい場合は、エクスプローラー上で操作するようにしましょう。
相対パスと絶対パスを混同しない
見た目が似ているため、相対パスと絶対パスを混同しないことも重要です。
index.html
はファイル名です。
src/index.html
は相対パスです。
C:\Users\user\project\src\index.html
は絶対パスです。
使用する場面に応じて適切な形式を選ぶと、VSCodeでの作業を効率化できます。
まとめ
VSCodeでは、ファイル名やファイルパスを用途に応じてコピーできます。
ファイル名だけをコピーしたい場合は、エクスプローラーで対象ファイルを選択し、F2で名前変更状態にして文字列をコピーする方法が手軽です。
絶対パスが必要な場合は「パスのコピー」、ワークスペースフォルダーを基準にしたパスが必要な場合は「相対パスのコピー」を利用します。
また、現在開いているファイルのパスは、Windows・LinuxではCtrl+KのあとにP、macOSではCommand+KのあとにPでもコピーできます。
さらに、tasks.jsonやlaunch.jsonでは、${fileBasename}や${relativeFile}などの変数を使って、現在のファイル名や相対パスを自動的に取得できます。
「ファイル名」「相対パス」「絶対パス」の違いを理解して使い分けることで、VSCodeでのファイル操作をよりスムーズに行えるようになります。
以上、VSCodeでファイル名をコピーする方法についてでした。
最後までお読みいただき、ありがとうございました。










