VSCode - 有没有办法自定义双击选择行为?

时间:2016-01-14 03:55:38

标签: visual-studio-code

特别是对于php,传统上在其他编辑器(例如np ++)中,当您双击变量名时,例如,它会选择没有' $'的名称。在VSCode中,它选择变量名称加上' $'而且往往也是一个拖尾' - '如果有的话。

$foo->bar();

当前行为:

双击' foo'选择:

$foo-

所需行为:

双击' foo'选择:

foo

编辑:这是github问题:https://github.com/Microsoft/vscode/issues/2036

3 个答案:

答案 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。现在还没有,团队可以使用反馈。