Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Replace 在Visual Studio代码中查找和替换_Replace_Visual Studio Code - Fatal编程技术网

Replace 在Visual Studio代码中查找和替换

Replace 在Visual Studio代码中查找和替换,replace,visual-studio-code,Replace,Visual Studio Code,我在VSCode中编辑的文件中有以下行: ………..111………..111………..111…… 我想用0s替换所有s。但是,当我突出显示该行并对进行查找/替换时,文档中的所有都会被替换,而不仅仅是我选择的行中的那些,即使我切换“在选择中查找”按钮也是如此。这是虫子吗?在其他编辑器中,如果我选择一个文本块,然后执行查找/替换,它将只查找/替换所选块中的匹配项 下面是一个片段,您应该能够用它重现问题。....111....111....111..行位于test_unicode函数内 def test

我在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。

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

  • 控制+H以打开查找/替换
  • 选择您的文本行
  • 单击Alt L右侧的“在选择中查找”图标或⎇ ⌘ (在macOS上)
  • 在输入中输入查找和替换字符
  • 单击“全部替换”图标
  • 这是可行的,但是你必须为每一个新的选择重新检查工作流程(当然除了CTR+H)。顺便说一句,我有完全相同的行为在崇高的文本

    你能用regExp找到你的行吗?它们是否只包含VSCode开发人员提供的.s和1?

    我们过去常常在打开文件时自动启用“在选择中查找” 查找带有选择项的小部件,但它太容易触发 一不小心,引起了很多抱怨。你可能想 设置“editor.find.autoFindInSelection”:true将使其工作 你期望的方式

    如果有人感兴趣,我们会提供更多细节


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

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

  • 用鼠标或键盘选择文本区域
  • Ctrl+H切换查找和替换
  • Alt+L切换“在选择中查找”
  • Ctrl+Alt+Enter替换全部(或Enter单独替换)
  • 这是一个更一般的回答,其他用户来到这里只是想使用基本的查找和替换功能

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

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

    在Mac上:

    • 选择文本
    • 按command+shift+L

    由于有时我们可能会对事物进行类似的命名,因此您不想选择所有事物,因此我最喜欢的快捷方式之一是:

  • 使用shift和箭头突出显示要匹配的术语
  • 使用Ctrl+d高亮显示术语的下一个匹配项

  • 文档页面有一些关于查找和替换的非常有用的变体。一个非常有用的捷径是。

    在这种情况下,我可以用正则表达式来实现,但这似乎有些过分。在一般情况下,我认为更直接的查找/替换工具会很有用。我可能会在他们的git hub页面上打开一个问题。打开这个问题是个好主意。我很惊讶,VSCode和Sublime都能让您完成如此简单的任务。例如,您不能在我的回答中颠倒上面的第3项和第4项-这似乎容易出错和受挫。问题已打开:。如果他们提供了修复,将发布一个答案。在最新更新中对我有效的线程中的建议是更改此设置(文件>首选项>设置,然后将其粘贴到):“editor.find.autoFindInSelection”:True使用VSCode的默认行为执行替换选择对我来说也不太方便。因此,我刚刚为此编写了一个VSCode扩展。虽然后来我发现了这篇文章,并认为设置
    “editor.find.autoFindInSelection”:“multiline”
    似乎在某种程度上改善了这种情况,但我的扩展除了VSCode的替换外,还有几个优点,尤其擅长替换短搜索模式(在regex中)。我的扩展是“选择中的快速替换”,这里:这不会解决问题,尽管。。。唯一的问题是,如果每次选择一组新文本时都进行连续的F/R,则需要重新调整“查找”字段的焦点,以使其更改其查找上下文。更改设置似乎对我有帮助,尽管VS代码仍会标记整个文档中搜索词的所有外观,即使它只会替换选择中的那些。这与上面的答案有何不同?您只是忽略了实际输入查找和替换文本,并交换了前两个步骤的顺序,这无关紧要。鼠标单击Alt+L注释会使其有所不同(阅读:更好)是的!这是自然的流程-首先选择文本,然后打开
    Find&Replace
    ,然后选择
    Find in selection
    ,然后键入term以查找和替换term,最后键入
    Replace all
    。我启用了sublime keymap,因此不确定它是否适用于所有人,但是我能够使用CMD+OPT+f打开查找和替换immediately@Julian好的!我没有启用sublime keymap,它仍然可以工作。我更新了答案。谢谢,谢谢!另外,忘了提到另外两个有趣的事实:如果您使用CMD+ENTER,将设置整个文件的查找和替换。否则,您可以使用enter单步执行每个步骤。您还可以通过执行CMD+SHIFT+HCommand+Option+F来执行项目全局查找和替换。第一次使用时启用该选项,然后使用命令+F即可获得查找/替换栏。如果使用ENTER键,则如何跳过?如果按CTRL+d键一次或多次:如何撤消上次选择?
    CTRL