【问题标题】:VSCode keyboard shortcut for 'Assign expression result to new local variable'?'将表达式结果分配给新的局部变量'的VSCode键盘快捷键?
【发布时间】:2017-08-03 09:35:49
【问题描述】:

在Eclipse中,默认情况下,映射到 ctrl kBd> + l kbd> + kbd> l kbd>,默认情况下,它在选择表达式时工作.它所做的是创建一个新的局部变量来保存表达式的结果。比如……

this.doSomeCalculation();

如果鼠标光标位于上面的行上,CTRL + 2 + L 将把该行变成...

double someCalculation = this.doSomeCalculation()

我发现自己在编写 Java 代码时经常使用这个快捷方式。 Visual Studio Code 中是否有类似的东西可用于编辑 Typescript?

【问题讨论】:

    标签: typescript keyboard-shortcuts visual-studio-code


    【解决方案1】:

    您可以assign keybinding to refactorings等提取常量。

    这是一个将 ctrlshifte 绑定到提取常量重构的键绑定:

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

    此键绑定适用于 JavaScript 和 TypeScript(以及任何其他具有提取常量重构的语言)

    附:下面是 JS/TS 的一个细微变化,它允许一个键绑定同时适用于提取类型和提取常量:

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

    【讨论】:

      【解决方案2】:

      我设法通过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"
        }
      ]
      

      【讨论】:

        【解决方案3】:

        这个链接上的vscode几乎是类似的东西

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

        它展示了如何将部分代码提取到局部变量。 它与日食有点不同。在 vscode 上,它需要“选择”语句,然后按 ctrl + shift + R 然后弹出一个窗口,您需要在其中选择以提取到局部变量。

        您可以将键盘快捷键配置为 Ctr + 2 l。

        真的不是一回事,但是……

        【讨论】:

          【解决方案4】:

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

          在 Mac 中:

          Opt + Cmd + V

          在 Windows 中:

          Ctrl + Alt + V

          【讨论】:

          • 不适用于 Windows...
          • @Kıvılcım 转到左下角 vscode 中的小轮子 -> 键盘快捷键,然后键入:editor.action.codeAction 并检查哪个 keybindig 与此命令绑定。
          • editor.action.* 或其他任何地方不存在后缀 codeAction。顺便说一句,我使用的是 1.61.2 版
          猜你喜欢
          • 1970-01-01
          • 2014-11-25
          • 2013-03-24
          • 2012-08-24
          • 1970-01-01
          • 1970-01-01
          • 2010-10-02
          • 1970-01-01
          • 2018-02-01
          相关资源
          最近更新 更多