1. ホーム
  2. replace

[解決済み] Visual Studio コードでの検索と置換

2022-03-01 05:05:28

質問

VSCodeで編集しているファイルに次のような行があります。

...............111.........111.............111..

をすべて置き換えたい。 .0 s. しかし、その行をハイライトして、検索/置換を実行すると . s, すべて その . というボタンを押しても、選択した行のものだけでなく、文書内のものが置き換えられてしまいます。これはバグなのでしょうか?他のエディタでは、テキストの塊を選択してから検索/置換を行うと、選択したブロック内にあるものだけが検索/置換されるのですが。

以下は、この問題を再現できるはずのスニペットです。その ...............111.........111.............111.. の行は test_unicode 関数を使用します。

def test_simple2(self):
        """Simple CSV transduction test with empty fields, more complex idx, different pack_size.

        100011000001000 ->
        ..........111....................111..........11111..........111..
        """
        field_width_stream = pablo.BitStream(int('1000110001000001000', 2))
        idx_marker_stream = pablo.BitStream(int('11101', 2))
        pack_size = 4
        target_format = TransductionTarget.JSON
        csv_column_names = ["col1", "col2", "col3", "col4", "col5"]

        pdep_marker_stream = pablo.BitStream(generate_pdep_stream(field_width_stream,
                                                                  idx_marker_stream,
                                                                  pack_size, target_format,
                                                                  csv_column_names))
        self.assertEqual(pdep_marker_stream.value, 63050402300395548)

    def test_unicode(self):
        """Non-ascii column names.

        Using UTF8. Hard coded SON boilerplate byte size should remain the same, column name
        boilerplate bytes should expand.

        100010010000000 ->
        2 + 4 + 9     2 + 4 + 6     2 + 4 + 7
        ...............111.........111.............111..
        """
        field_width_stream = pablo.BitStream(int('100010001000', 2))
        idx_marker_stream = pablo.BitStream(1)
        pack_size = 64
        target_format = TransductionTarget.JSON
        csv_column_names = ["한국어", "中文", "English"]

        pdep_marker_stream = pablo.BitStream(generate_pdep_stream(field_width_stream,
                                                                  idx_marker_stream,
                                                                  pack_size, target_format,
                                                                  csv_column_names))
        self.assertEqual(pdep_marker_stream.value, 1879277596)

Ubuntu 16.04でVSCode 1.12.2を使っています。

解決方法を教えてください。

動作させることはできたが、ワークフローが悪い。

  1. 制御 + H をクリックすると、検索/置換が表示されます。
  2. テキスト行を選択する
  3. 右側の「quot;選択範囲内を検索」アイコンをクリックします。 Alt L または L macOSの場合)
  4. 検索文字と置換文字を入力する
  5. すべて置き換え]アイコンをクリックします

これはうまくいくのですが、新しい選択項目が増えるたびにワークフローをやり直す必要があります(ただし CTR + H もちろんです)。 ちなみに私はSublime Textでも全く同じ動作をしています。

regExpで行を検索してくれませんか? .と1しか含まれていないのでしょうか?