在Visual Studio代码中查找和替换

问题描述 投票:12回答:4

我在VSCode中编辑的文件中有以下行:

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

我想用.s替换所有0s。但是,当我突出显示该行并对.s执行查找/替换时,文档中的所有qazxswpo都会被替换,而不仅仅是我选择的行中的那些,即使我切换“在选择中查找”按钮。这是一个错误吗?在其他编辑器中,如果我选择一块文本然后进行查找/替换,它将只查找/替换所选块中的匹配。

以下是您应该能够重现问题的片段。 .线在...............111.........111.............111..函数内。

test_unicode

我在Ubuntu 16.04中使用VSCode 1.12.2。

replace visual-studio-code
4个回答
24
投票

我能够让它工作,但工作流程很差:

  1. CTR-H打开查找/替换
  2. 选择您的文字行
  3. 单击右侧的“在选择中查找”图标
  4. 在输入中输入查找和替换字符
  5. 单击“全部替换”图标

它有效,但你必须为每个新选择重新完成工作流程(当然除了CTR-H)。顺便说一句,我在Sublime Text中有完全相同的行为。

你能用regExp找到你的线路吗?它们只包含。和1吗?


10
投票

来自VSCode开发者:

我们曾经在使用选择打开查找窗口小部件时自动启用查找选项,但是它太容易被意外触发并产生大量投诉。您可能想要设置“editor.find.autoFindInSelection”:true,这将使其按预期方式工作。

如果有人有兴趣,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) 有更多细节。

编辑:VSCode GitHub issue选项从VSCode 1.13开始提供。该版本目前正在开发中(截至2017年6月7日),因此在新版本发布之前,此修复程序将无效。


4
投票

我发现以下工作流程相当轻松:

  1. 使用鼠标或键盘选择文本区域。
  2. 按Ctrl + H切换查找和替换
  3. Alt + L切换选择中的查找
  4. Ctrl + Alt + Enter替换所有(或输入以单独替换)

1
投票

对于来这里只是想使用基本查找和替换功能的其他用户来说,这是一个更一般的答案。

在Mac上,您可以按Command + Option + F打开查找和替换:

autoFindInSelection

或者,您可以按Command + F打开查找,然后单击左侧的小三角形以显示替换字段:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.