是否有适用于VSCode的快捷方式或扩展程序,可帮助删除所选文本周围的引号(单引号或双引号)?
请参见以下示例
'hello'
==> hello
换句话说,是否可能有一个功能,可以在引号和非引号之间切换当前选择?
我已经尝试了VSCode的es quotes扩展程序,它非常好用,可以在单引号和双引号之间切换。
是否有适用于VSCode的快捷方式或扩展程序,可帮助删除所选文本周围的引号(单引号或双引号)?
请参见以下示例
'hello'
==> hello
换句话说,是否可能有一个功能,可以在引号和非引号之间切换当前选择?
我已经尝试了VSCode的es quotes扩展程序,它非常好用,可以在单引号和双引号之间切换。
对Soldeplata的回答进行详细解释:
开始前:通过按下Ctrl+k,Ctrl+s来查找smartselect(因为键盘布局和安装的键位映射扩展可能有所不同),以查找expanding selection的快捷方式。我有两个快捷方式可供选择:Shift+alt+→或Ctrl+w
步骤(不是一个快捷方式,而是一系列小步骤):
有人说:“你好”;
一些人说:“{{hello}}”;
一些人说:“{{}}”;
一些人说:{{}};
一些人说:{{hello}};
editor.action.smartSelect.expand
?) 它似乎不能正确地处理多个单词。例如,我在我的一个配置 JSON 文件中有这个字符串:"Docstring - one-line"
。如果我把光标放在第二个连字符后面的任何位置,所选的内容都是 line"
,但在其他情况下它按照你描述的方式工作。它似乎还取决于上下文。如果我从其他地方复制一个单引号字符串并进行几次“扩展选择”,那么单引号字符串永远不会被选中,总是更多或更少。 - wjandrearesearchers
的值成为一个数组而不是一个字符串。我们需要删除包裹数组的引号。在VSCode 1.64版本中,您可以使用内置的搜索和替换正则表达式捕获组(无需扩展程序)来进行此操作。[
{
"id": 2,
"description": "Project 1",
"researchers": "[12,5,22]"
},
{
"id": 3,
"description": "Project 2",
"researchers": "[1,44,22]"
}
]
在搜索字段中,您需要使用正则表达式"researchers": "\[(.+)\]"
,其中表达式的(.+)
部分是我们希望在替换时保留或不改变的第一组。然后,在替换字段中,我们使用"researchers": [$1]
,其中$1
对应于我们在搜索字符串中保留的第一个组(.+)
。这意味着我们将找到的值(在第一个实例中为12,5,22
),用"researchers": [
12,5,22]
包装起来。
替换后的JSON如下:[
{
"id": 2,
"description": "Project 1",
"researchers": [12,5,22]
},
{
"id": 3,
"description": "Project 2",
"researchers": [1,44,22]
}
]
我使用ctl+d突出显示单词,然后输入引号。括号或大括号同理。
这对你提供的示例有效。
选择要删除引号的文本。
菜单 编辑 | 替换
搜索 '
引号标记
替换为 [空格]
单击“全部替换”图标
如果需要,可以使用 编辑 | 撤消 将引号放回。