VS Codeのファイラー拡張機能Yamafilerを公開しました
はじめに
VS Codeにdefx.nvimのようなファイラーが無くて不便だったので拡張機能Yamafilerを作りました。この記事で使い方を解説します。
導入方法
導入方法の具体例は以下の記事で紹介しています。
この記事ではargs
の設定を{key: value}
で表します。
Yamafilerを開く
yamafiler.openFiler
を実行するとファイラーのタブが開きます。
ファイラーが表示するフォルダーは自動で決定されます。たとえば、ファイルを開いているときにファイラーを開くと、開いているファイルの親フォルダーを表示します。
開きたいファイルが固定されている場合はpath
引数を指定します。たとえば、{"path": "~"}
とすればホームフォルダーを開きます。{"path": "${workspaceFolder}"}
とすればワークスペースフォルダーを開きます。{"ask": "dialog"}
を指定すると開くフォルダーを選択するダイアログが出現します。
{"column": "beside"}
を指定すると隣のカラムでファイラーを開きます。
外部でファイル構成が変化した場合はyamafiler.refresh
で最新の内容に更新できます。
yamafiler.goToParent
で親フォルダーに、yamafiler.enter
でカーソル上の子フォルダーに移動します。
ワークスペースの操作
yamafiler.openWorkspace
でカーソル上のフォルダーまたはワークスペースファイルをワークスペースとして開きます。
デフォルトでは現在のウィンドウで、{"forceNewWindow": true}
が指定されていれば新しいウィンドウで開きます。
yamafiler.addToWorkspace
は選択中のフォルダーを現在のワークスペースに追加します。
ファイルを開く
カーソルをファイルの行に合わせてyamafiler.enter
を実行するとそのファイルを開きます。
{"column": "beside"}
を指定すると隣のカラムで開きます。
画像や音声など、テキストファイル以外のファイルを開くこともできます。{"binaryPattern": "*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,mp3,wav,ogg,oga,mp4,webm}"}
とすれば、パターンに当てはまる形式のファイルはバイナリ形式で開きます。vscode-pdfのようにpdfファイルをVS Code上で閲覧できる拡張を使用している方は、パターンにpdf
を追加すると便利です。
{"externalPattern": "*.{html,docx}"}
とすると、パターンに当てはまる名前のファイルは外部アプリケーションで開きます。
OSデフォルトのエクスプローラーで開きたいフォルダーがあれば、externalFolderPattern
引数を指定します。
ファイル操作
ファイラーで現在表示しているフォルダー内で行う操作です。
-
yamafiler.newFolder
- 名前を入力して新しいフォルダーを作成します。 -
yamafiler.newFile
- 名前を入力して新しいファイルを作成します。 -
yamafiler.rename
- 選択されているフォルダーまたはファイルの名前を変更します。 -
yamafiler.duplicate
- 選択されているフォルダーまたはファイルを入力した名前で現在のフォルダーに複製します。 -
yamafiler.symlink
- 選択されているフォルダーまたはファイルへのシンボリックリンクを作成します。 -
yamafiler.delete
- 選択されているフォルダーまたはファイルを削除します。
選択
複数のファイルを選択して一度に操作する方法は二つあります。
- 複数行を範囲選択した状態でコマンドを実行する。
- *マークを複数の行に付けた状態でコマンドを実行する。
-
yamafiler.toggleSelection
で選択範囲の行の*マークを付け外しします。 -
yamafiler.toggleSelectionAll
で全選択全解除もできます。
-
バッチファイル
バッチファイルで複数のファイルを一度に操作できます。
複数の新規ファイル
yamafiler.newMultipleFiles
でフォルダーやファイルを一度に複数作成できます。
新しいファイルが開くので、エディターにフォルダー名とファイル名を入力します。フォルダー名は終わりに / を入力します。例:
foldername1/
foldername2/
filename1.txt
filename2.txt
filename3.txt
タブを手動で保存すると全てのフォルダーやファイルが作られます。保存せずにタブを閉じるとキャンセルです。
複数ファイルのリネーム・コピー・シンボリックリンクの作成
複数のフォルダーやファイルを選択した状態でyamafiler.rename
、yamafiler.duplicate
、yamafiler.symlink
のいずれかを実行するとdiff形式のタブが開きます。左側のファイルが元のファイル名で、右側のファイルを編集します。それぞれ複数ファイルのリネーム、複製、シンボリックリンク作成に対応します。
タブを手動で保存すると全ての操作が行われます。保存せずにタブを閉じるとキャンセルです。
クリップボード
ファイルを遠くに移動させる際はクリップボード機能を使います。このクリップボードはファイラー内でファイルパスを記録する専用のものです。
カットyamafiler.cut
やコピーyamafiler.copy
、シンボリックリンクのターゲット設定yamafiler.targetForSymlink
を実行すると、選択中のファイルのパスがクリップボードに置かれます。
クリップボードの内容を貼り付けたいフォルダーを表示し、そこでyamafiler.paste
を実行してペーストします。
コピーしたフォルダーを貼り付ける際、表示中のフォルダーに同名のフォルダーが存在する場合、Windows以外ではフォルダーのマージも行えます。
ご清読ありがとうございました。
Discussion