"将表达式结果分配给新的局部变量"的 VSCode 键盘快捷键?



在eclipse中,有一个非常方便的快捷方式,映射到 ctrl 2 l 默认情况下,当选择表达式时起作用。它的作用是创建一个新的本地变量来保留表达式的结果。例如...

this.doSomeCalculation();

如果将鼠标光标放在上方的线上,则 ctrl 2 l 将把线变成... p> double someCalculation = this.doSomeCalculation()

我发现自己在编码Java时经常使用此快捷方式。在 Visual Studio Code >?

中,是否有类似的内容可用于编辑打字稿。

您可以为诸如提取恒定等重构分配键键。

这是一个键键 - 绑定 ctrl shift e e 与提取物恒定重构:

{
  "key": "ctrl+shift+e",
  "command": "editor.action.refactor",
  "args": {
    "kind": "refactor.extract.constant",
    "apply": "first"
  }
}

此键键入将在JavaScript和Typescript中起作用(以及具有提取量常数重构的任何其他语言)

P.S。这是JS/TS的微小变化,可以使提取物类型和提取常数的单个键订阅工作:

{
  "key": "ctrl+shift+e",
  "command": "editor.action.refactor",
  "args": {
    "kind": "refactor.extract",
    "preferred": true,
    "apply": "first"
  }
}

在此链接上的vscode上几乎类似的东西

https://code.visualstudio.com/docs/java/java-editing

它显示了如何将代码的一部分提取到本地变量。与日食有所不同。在VSCODE上,它需要"选择"语句,然后按Ctrl Shift R,然后弹出一个窗口,您需要选择以提取到本地变量。

您可以将键盘快捷键配置为CTR 2L。

真的不是同一回事,但是...

我设法通过keybindings.json中的一些反复试验来实现此功能。对于您,我认为映射看起来像:

[
  {
    "key": "ctrl+2 ctrl+l",
    "command": "editor.action.codeAction",
    "args": {
      "kind": "refactor.assign.variable"
    },
    "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
  }
]

我个人正在使用ctrl alt space

[
  {
    "key": "ctrl+alt+space",
    "command": "editor.action.codeAction",
    "args": {
      "kind": "refactor.assign.variable"
    },
    "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
  }
]

您可以选择一个表达式,然后:

在Mac中:

opt cmd v

Windows:

ctrl alt v

最新更新