在Visual Studio代码中查找和替换

时间:2017-06-02 18:49:15

标签: replace visual-studio-code

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

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

我想用.替换所有0 s。但是,当我突出显示该行并对.进行查找/替换时,所有文档中的.将被替换,而不仅仅是行I中的...............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) 函数内。

mingw32-make install

我在Ubuntu 16.04中使用VSCode 1.12.2。

7 个答案:

答案 0 :(得分:22)

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

  1. CTR-H打开查找/替换
  2. 选择您的文字行
  3. 点击"在选择中查找"
  4. 右侧的图标
  5. 在输入中输入您的查找和替换字符
  6. 点击全部替换图标
  7. 它可以工作但是你必须为每个新选择重新完成工作流程(当然除了CTR-H)。顺便说一句,我在Sublime Text中有完全相同的行为。

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

答案 1 :(得分:10)

来自VSCode开发者:

  

我们曾经在打开时自动启用查找   查找具有选择的小部件,但它太容易触发   不小心又产生了很多抱怨。你可能想要   设置“editor.find.autoFindInSelection”:true将使其工作   你期望的方式。

如果有人有兴趣,VSCode GitHub issue会有更多详细信息。

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:0)

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

在Mac上,您可以按Command + F进行查找:

enter image description here

然后按左侧的箭头以显示“替换”字段:

enter image description here

答案 4 :(得分:0)

在Mac上:

  • 选择文本
  • 按命令+ Shift + L

答案 5 :(得分:0)

由于有时我们可能会使用类似的名称,因此您不想选择所有内容,所以我最喜欢的快捷方式序列之一是select the next occurrence

  1. 使用 shift 和箭头突出显示您要匹配的字词。
  2. 使用 Ctrl + d 突出显示该术语的下一个出现。

next occurrence selection

Basic Editing in VS Code文档页面在查找和替换上有一些非常有用的变化。 Column (Box) Selection是一种非常有用的快捷方式。

答案 6 :(得分:0)

刚遇到这个,我的解决办法是

  1. command + N 创建一个新文件
  2. 粘贴我的选择
  3. 对该文件进行查找和替换操作
  4. 将结果复制回我原来的选择