如何创建快捷方式以打印变量(vscode)

时间:2019-05-17 08:07:24

标签: python visual-studio-code vscode-settings

如何创建用于生成将在vscode中打印所选变量的代码的自定义快捷方式?

[1] arr = [1,2,3,4]  # I press double left mouse button on 'arr'
[2] print(arr)       # Then I press <magic shortcut> (Ctrl+p for example)
                     # And vscode generate [2] row automatically

您可以通过print()提供用于快速调试的方法。

2 个答案:

答案 0 :(得分:1)

不幸的是,用一个简单的代码片段似乎很难做到这一点。将在光标所在的位置插入新的代码段-在您的情况下,该代码段将位于您选择的变量上-然后该代码段之后的第一行的其余部分仍然存在。

使用宏扩展相对容易,该扩展允许您执行多个命令,例如multi-command或其他命令。

安装扩展程序后,在您的设置中:

  "multiCommand.commands": [

   {
     "command": "multiCommand.printVariable",

     "sequence": [
       "editor.action.clipboardCopyAction",
       "editor.action.insertLineAfter",
       {
         "command": "type",
         "args": {
           "text": "print("
         }
       },
       "editor.action.clipboardPasteAction",
       {
         "command": "type",
         "args": {
           "text": ")"
         }
       },
     ]
   }
},

,然后在keybindings.json中设置一些键绑定:

{
  "key": "alt+q",
  "command": "multiCommand.printVariable",

  // use the following if you wish to limit the command to python files
  "when": "resourceExtname == .py"
}

demo of macro snippet

如演示gif所示,所选文本可以在行的任何位置,并且如果在行中紧接print()语句的行下方有代码,则将插入您期望的位置。

警告:这会将您选择的变量保存到剪贴板,因此将被覆盖。

答案 1 :(得分:0)

这可能不是您要寻找的解决方案,但是我使用Windows并使用了各种鼠标和键盘快捷键,因此我购买了商业软件“ ATNSOFT Key Manager”(their Website)的许可证。

还有一个演示版,但功能有限。

使用此功能,您可以指定函数在哪些程序或窗口中工作,因此它与要使用的软件无关。

例如,您可以在编辑器中复制该var名称,然后指定组合键[CTRL] + [P]以将换行符,打印命令和复制的var名称粘贴到编辑器中。无需编程,您只需定义一个“规则”,做什么,在哪里做以及何时完成。

我不以任何方式隶属于ANTSOFT,我喜欢自由开放的软件,但这是我很高兴拥有的商用Windows工具之一。

但是您当然可以尝试Autohotkey,看来它也应该可以这样做。