1. ホーム
  2. replace

Visual Studio コードでの検索と置換

2023-10-26 10:41:01

質問

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しか含まれていないのでしょうか?