特别是对于php,传统上在其他编辑器(例如np ++)中,当您双击变量名时,例如,它会选择没有' $'的名称。在VSCode中,它选择变量名称加上' $'而且往往也是一个拖尾' - '如果有的话。
取
$foo->bar();
当前行为:
双击' foo'选择:$foo-
所需行为:
双击' foo'选择:foo
编辑:这是github问题:https://github.com/Microsoft/vscode/issues/2036
答案 0 :(得分:20)
由于此issue已得到解决,因此值得添加此答案。
现在,您可以通过修改"editor.wordSeparators"
设置在您的设置中完成此操作。
这是默认值:
"editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?"
要允许选择$foo
,您可以从上面的字符串中删除$
。
答案 1 :(得分:4)
如果您希望获得与道格拉斯·加斯基尔(Douglas Gaskill)的回答相同的结果,但是基于每种语言,这也是可能的。
您只需要指定语言,如下所示(在您的用户设置中):
"[php]": {
"editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
}
在此特定示例中,仅当将编辑器设置为时,连字符将不再被视为单词分隔符(这是双击其中包含连字符的任何字符串,术语,值等的痛苦)。 PHP
语言模式。
在某个阶段,VSCode开始显示用于编辑设置的GUI(我不记得在过去看到过),并且这不允许您按照我指定的方式编辑editor.wordSeparators
值。
要按照我指示的方式进行更改,您需要从Code > Preferences > Settings
中打开设置 不(在Mac上,不确定它在其他操作系统上的外观),而是从命令面板(在Mac上为Command-shift-P
)或View > Command Pallet
。该命令为>Preferences: Open Settings (JSON)
。
然后您可以添加我提供的代码或其版本。
要了解在其他设置的情况下的外观,下面是一个示例:
// Place your settings in this file to overwrite the default settings
{
"composer.executablePath": "/usr/local/bin/composer",
"terminal.integrated.shell.osx": "/usr/local/bin/powershell",
"editor.wordWrap": "on",
"extensions.autoUpdate": false
"[php]": {
"editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
}
}
答案 2 :(得分:2)
extensibility API中没有任何内容可以更改双击行为。这是一个很好的要求。我建议打开issue on Github。现在还没有,团队可以使用反馈。