Replace 在Visual Studio代码中查找和替换
我在VSCode中编辑的文件中有以下行:Replace 在Visual Studio代码中查找和替换,replace,visual-studio-code,Replace,Visual Studio Code,我在VSCode中编辑的文件中有以下行: ………..111………..111………..111…… 我想用0s替换所有s。但是,当我突出显示该行并对进行查找/替换时,文档中的所有都会被替换,而不仅仅是我选择的行中的那些,即使我切换“在选择中查找”按钮也是如此。这是虫子吗?在其他编辑器中,如果我选择一个文本块,然后执行查找/替换,它将只查找/替换所选块中的匹配项 下面是一个片段,您应该能够用它重现问题。....111....111....111..行位于test_unicode函数内 def test
………..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。我能够让它工作,但工作流程很差:
编辑:从VSCode 1.13开始,可以使用
autoFindInSelection
选项。该版本目前正在开发中(截至2017年6月7日),因此在新版本发布之前,此修复程序将无法工作。我发现以下工作流程相当轻松:
- 选择文本
- 按command+shift+L
文档页面有一些关于查找和替换的非常有用的变体。一个非常有用的捷径是。在这种情况下,我可以用正则表达式来实现,但这似乎有些过分。在一般情况下,我认为更直接的查找/替换工具会很有用。我可能会在他们的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