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

Dyl*_*non 9 visual-studio-code

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

采取

$foo->bar();
Run Code Online (Sandbox Code Playgroud)

目前的行为:

双击'foo'选择:

$foo-
Run Code Online (Sandbox Code Playgroud)

期望的行为:

双击'foo'选择:

foo
Run Code Online (Sandbox Code Playgroud)

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

Dou*_*ell 30

由于此问题已得到解决,因此值得添加此答案.

您现在可以通过修改设置在您的设置中完成此操作"editor.wordSeparators".

这是默认值:

"editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?"
Run Code Online (Sandbox Code Playgroud)

要允许选择,$foo可以$从上面的字符串中删除.

  • 对于经常使用包含破折号的域的人,长URL:""editor.wordSeparators":"\`〜!@#$%^&*()= + [{]} \\ |;:'\", <>?"` (3认同)

ins*_*dnz 14

如果您想获得与道格拉斯·加斯基尔 (Douglas Gaskill) 在他的回答中分享的相同结果,但在每种语言的基础上,这也是可能的。

您只需要指定语言,如下(在您的用户设置中)。由于原始海报想要这个,php我将使用该示例:

 "[php]": {
            "editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
        }
Run Code Online (Sandbox Code Playgroud)

在此特定示例中,仅当编辑器设置为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": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
        }
}
Run Code Online (Sandbox Code Playgroud)