Visual Studio Code内のすべてのファイル(すべてのファイル)を検索して置換するにはどうすればよいですか?


245

Visual Studio Codeバージョン1.0を使用して、さまざまなファイル内の単語をすべて見つけて置き換える方法を理解できません。

Ctrl + Shift + Fを実行するとフォルダを検索するだけでよいので、これは可能であるという印象を受けますが、ここから先に進む方法がわかりません。

私はさまざまなキーの組み合わせを調べました https://code.visualstudio.com/Docs/customization/keybindings

しかし、私は開いているファイルのすべてのオカレンスを置き換える方法を見つけました(Ctrl + h)

すべてが助けてくれて感謝しています。これは私を夢中にさせています。

回答:


363

Visual Studio Code 1.8を使用していますが、この機能を利用できます。しかし、最初に理解するのは少しトリッキーであり、(執筆の時点では)ドキュメントはそれを使用する方法を明確に説明していないので、それがどのように機能するかを段階的に説明します:

ファイルの置換を呼び出す([編集]メニューの下、またはショートカットCtrl+ Shift+を使用H

左側のファイルペインを置き換える標準の検索/置換入力が表示されます。

ここに画像の説明を入力してください

検索文字列と置換文字列を入力して、Enterキーを押します。すべてのファイルを検索する2番目を求める場合があります。その後、すべてのプロジェクトファイルで提案された変更が表示されます。ただし、これらの変更はまだ行われていないことに注意してくださいこれは次のようになります。

ここに画像の説明を入力してください

次に、変更加える必要があります(その後も、変更したファイル保存する必要があります)。

これらの変更はさまざまな方法で行うことができます。

1)一度にすべてのファイルにすべての変更を加えます。

置換文字列の横にある置換アイコンをクリックします(注:この一括アクションを確認するダイアログが表示されます)。

ここに画像の説明を入力してください

2)一度に1つのファイルにすべての変更を加えます。

ファイル名の横にある置換アイコンをクリックします(注:アイコンは、ファイル名の行にカーソルを合わせると表示されます)

ここに画像の説明を入力してください

3)1つのファイルに1つの変更を加えます。

個々の変更の横にある置換アイコンをクリックします(注:このアイコンは、変更行にカーソルを合わせたときにのみ表示されます)。

ここに画像の説明を入力してください

最後に、保存することを忘れないでください!

これらのファイルはすべてエディタで変更され、まだディスクに保存されていません。

ファイルを使用->すべて保存(またはCtrl+ Alt+ S

更新:これがいつ追加されたかはわかりませんが、[すべて置換]ボタンをクリックしてこのダイアログが表示された場合、[置換]をクリックすると、すべてのファイルがワンクリックで変更および保存されます。

ここに画像の説明を入力してください


1
「検索置換」を保存することは可能ですか?私はよく「class =」を検索して「className =」に置き換えます
Rune Jeppesen

1
最後のステップをスキップしてサイレント検索と置換を行うことは可能ですか?ささいな検索と置換を行っている場合、個々のファイルを保存したくありません。
2017

1
私はこれらの質問のどちらに対する答えかわかりません。ただし、@ satJは、Ctrl+Alt+S変更されたすべてのファイルを一度に保存するため、非常に迅速かつ簡単です。
ジェフワード

デフォルトですべてのファイルを変更するのは危険です。単一のファイルで検索/置換するコマンドはありますか?
Alexander Mills

現在のすべて保存のデフォルトはCtrl-kで、その後に文字sが続きます。Ctrl-kに続けてCtrl + wを押すと、プログラムが一連のウィンドウを開いた後、すべてのウィンドウが閉じます。
レベッカ

25

更新

バージョン1.3(2016年6月)以降、Visual Studio Codeで検索および置換が可能です。ctrl + shift + fを使用すると、すべての出現箇所を検索して置き換えることができます。

現時点では不可能のようです(バージョン1.1.1(2016年4月))

「Q:グローバルに検索して置き換えることはできますか?

A:この機能はまだ実装されていませんが、今後実装される予定です。」

https://code.visualstudio.com/Docs/editor/codebasics

これはコミュニティからもリクエストされているようです:https : //github.com/Microsoft/vscode/issues/1690


特定のフォルダ内のものを検索するには、フィールドにフォルダパスを追加するだけfiles to includeです。ワークスペースの外でもアイテムを検索/置換できます。⚠ファイル名ではなく、ファイル内を検索します。(誰もがワークスペースの外でファイル名を検索する方法を知っていますか?)
JinSnow

22

単一のファイル(現在開いている)の文字列を置き換えるには: CTRL + H

ワークスペースレベルでの置換には、次を使用します。 CTRL + SHIFT + H


注:Ctrl + Shift + Hを使用して検索を実行するには、Enterキーを押す必要があります。
アーロンフランケ

19

これが最良の方法です。

  1. 最初にカーソルをメンバーに置き、F2をクリックします。

  2. 次に、新しい名前を入力してEnterキーを押します。これにより、プロジェクト内のすべてのファイルのすべてのオカレンスの名前が変更されます。

これは、複数のファイルにわたって名前を変更する場合に最適です。たとえば、Angularサービスのパブリックにアクセス可能な関数の名前を変更し、それを使用するすべての場所を更新することができます。

より優れたツールについては、私が強くお勧めします:https : //johnpapa.net/refactoring-with-visual-studio-code/


現在のファイルのみのオカレンスの名前を変更したい場合はどうなりますか?
テミルベク

@temirbek私はしばらくの間、このリクエストをフォローしています。2年以上が経過し、まだ​​実装されていません。github.com/Microsoft/vscode/issues/14836
DonDaniel

こんにちは、関連するフォルダの名前も変更してインポートしますか?
魂カイゼン

5

上のVisual Studioのコードキーバインディングのページ、セクションのキーボードショートカットリファレンス主要な各OS用のPDFへのリンクがあります。開いたら、「ファイルで置換」または必要なその他のショートカットを検索します。

別の方法は、コマンドパレットctrl/cmd+ shift+ P)を使用することです。ここで、「replace」と入力して、必要なコマンドを含むすべての関連コマンドを一覧表示できます。

ファイル内で置換ctrl/cmd+ shift+H

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.