開発を行う際に、利用しているVisualStudioCodeですが、他の社内メンバーや新人と使用している機能について共有する機会などが少なく、作業をより効率的に行えるようにすることを目的として、便利だと感じている機能。
その中でも、今回は主に検索や置換についていくつかを紹介させていただきます。
検索(Ctrl+F)
まずは、検索についてです。
Ctrl+F で現在開いているファイル内で特定の文字列を検索することができます。

また、検索のオプションとして、以下のようなものがあります。
- 大文字と小文字を区別する(Alt+c)
- 単語単位で検索する(Alt+W)
- 正規表現を使用する(Alt+R)
- 選択範囲を検索(Alt+L)
以下は、大文字と小文字を区別するオプションを追加して、testという文字列を検索しています。
そのため、オプション無しの場合と違い、TestSampleはヒットしていません。

以下は、単語単位で検索するオプションを追加して、testという文字列を検索しています。
testを含む単語はあっても、testという単語はないため、ヒットする文字列はありません。

正規表現を使用するオプションを追加して、特定の値を検索したいと思います。
自分で調べることも大事ですが、今回は効率を考えて、Copilotに質問してみました。
質問内容は次のようになっております。
「正規表現で、特定文字列から始まり、特定文字列で終わる文章を検索したい」
返ってきた回答は、以下のような文章でした。
「Perlでは、正規表現を使って特定の文字列から始まり、特定の文字列で終わるパターンを作成できます。以下は、文字列が「a」で始まり、「e」で終わる場合にマッチする正規表現の例です。」
/^a.+e$/
Perlでの書き方となっていますが、使用する正規表現としては、問題なさそうですので、上記をベースに、私の求めた形に整形したいと思います。
整形したものは以下になります。
^\$test.+名前’;$
では、Copilotに教えてもらったものをベースに手を加えた、「^\$test.+名前’;$」を使用して検索を行ってみます。
すると、先頭が「$test」で始まり、「名前’;」で終わる文が、ヒットしています。
このような検索の方法ができることを知っていれば、特定部分のコードを変更した場合の影響範囲調査などにも役立つため、上手く利用することで効率よく、且つ正確な作業を行うことができると思います。

以下は、選択範囲を検索するオプションを追加して1~7行目の範囲に絞って、testを検索しています。
1~7行目にのtest_sampleとTestSampleは、ヒットしていますが、それ以降の行の文字列はヒットしていません。

置換(Ctrl+F2)
次に、置換機能についてです。
以下のように、先ほどの検索欄の左側>のマークを押すと、置換用の入力欄が表示されます。
検索欄には、置換前の文字列を入力し、置換欄には、置換後の文字列を入力します。
置換欄に入力後、Enterを押すことで、検索にヒットしたうちの一つが置換されます。
まとめてヒットしたものすべてを置換したい場合は、Ctrl+Alt+Enterを押すことで、まとめて置換を行うことができます。


また、検索の際にご紹介した、範囲検索と組み合わせると、特定の範囲の対象文字列のみを置換するということもできます。

プロジェクト単位の検索(Ctrl+Shift+F)
次に、プロジェクト単位での検索や置換の方法をご紹介します。
Ctrl+Shift+Fのショートカットを使用することで、プロジェクト単位での検索欄を画面左側に出すことができます。

こちらを利用することで、同一プロジェクト内で、検索した文字列を利用しているファイルと、使用箇所を一覧で確認することができます。

ここまでは、まぁ便利かなと思う機能かと思います。
しかし、こちらのプロジェクト内検索機能を用いることで、プロジェクト内一括置換を行うことができます。
具体的には、検索のときと同じように、>のマークをクリックし、置換欄を表示させ、そちらへ置換したい文字列を入力していきます。
入力が終わったら、Ctrl+Alt+Enterを入力することで、プロジェクト内の全ファイルから、対象文字列を検索し、置換を行うことができます。


とても、便利な機能ですが、プロジェクト内の全ファイルをまとめて書き換えてしまうため、意図しない書き換えが起こる可能性もあります。
使用する際には、細心の注意を払いましょう。
また、置換欄の右下にある・・・をクリックすることで、ある程度ファイルを絞ることもできます。
含めるファイル欄に「.php」と入力すれば、phpのファイルのみが対象になりますし、「test/」と入力すれば、testフォルダ配下のファイルのみが対象となります。
以下は、例として、test1・test2・test3と同じ階層にtestフォルダを作成し、その中にtest4を配置して検索したものになります。

めるファイルにtest/を記載したところ、testフォルダ配下のtest4だけが、検索にヒットしています。

上記とは逆に、除外するファイルにtest/を記載したところ、testフォルダ配下のtest4だけが、検索にヒットしていません。

実際に業務で使用する場合には、含めるファイルや除外ファイルの絞り機能をうまく利用しながら、自分が確認できる範囲の単位で絞りながら置換を行い、ミスなく効率化が行えるように意識しましょう。
表記法の変換
次に、表記法の変換です。
検索や置換とは少し異なりますが、覚えておくと便利かと思いますので、ご紹介させていただきます。
まず、変換したい単語等を範囲選択します。
今回は対象の単語をすべて大文字に変換してみたいと思います。

その後、F1を押します。
すると、コマンドパレットが表示されます。
コマンドパレットにtransformToUppercaseと入力します。
すると、以下のようにコマンドが表示されますので、クリックします。

クリックすると、以下のように範囲選択した単語が、大文字に変換されます。

上記と同じ方法で、他にもいろいろな変換があります。
その中から、私が頻繁に使用しているものをご紹介させていただきます。
どれも、比較的よく使用することになるかと思いますので、覚えておくことをお勧めします。
コマンド | 効果 |
transformToUppercase | 大文字に変換 |
transformToLowercase | 小文字に変換する |
transformToKebabcase | ケバブケースに変換する |
transformToCamelcase | キャメルケースに変換する |
transformToSnakecase | スネークケースに変換する |
transformToPascalcase | パスカルケースに変換する |
上記のようなコマンドを覚えておくと、便利ですが、いちいちコマンドを打つのが面倒だと思われる方も多いかと思います。
そのような方は、オリジナルのショートカットを設定することをお勧めします。
ショートカットの設定方法としては、コマンドを入力した際に出てくる右側の歯車マークをクリックすることで、設定画面へ遷移することができ、好きなコマンドを登録することができます。

歯車をクリックすると、以下のような画面に遷移します。
遷移したら、+をクリックし、設定したいコマンドを登録します。

問題なく登録が完了すると、以下のようにキーバインド欄に登録したコマンドが記載されます。

では、実際にショートカット登録を行ったコマンドを入力してみます。
すると、以下のように、コマンドを入力しなくても実行することができました。

おわりに
いかがでしたでしょうか?
今回は、かなりメジャーでよく使うコマンドを中心にご紹介いたしました。
1つでも、読んでくださっている方が知らない機能を記載できていれば嬉しく思います。
VScodeの機能を使いこなし、コーディングを効率化していきましょう。