如何创建用于生成将在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()
提供用于快速调试的方法。
答案 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"
}
如演示gif所示,所选文本可以在行的任何位置,并且如果在行中紧接print()
语句的行下方有代码,则将插入您期望的位置。
警告:这会将您选择的变量保存到剪贴板,因此将被覆盖。
答案 1 :(得分:0)
这可能不是您要寻找的解决方案,但是我使用Windows并使用了各种鼠标和键盘快捷键,因此我购买了商业软件“ ATNSOFT Key Manager”(their Website)的许可证。
还有一个演示版,但功能有限。
使用此功能,您可以指定函数在哪些程序或窗口中工作,因此它与要使用的软件无关。
例如,您可以在编辑器中复制该var名称,然后指定组合键[CTRL] + [P]以将换行符,打印命令和复制的var名称粘贴到编辑器中。无需编程,您只需定义一个“规则”,做什么,在哪里做以及何时完成。
我不以任何方式隶属于ANTSOFT,我喜欢自由开放的软件,但这是我很高兴拥有的商用Windows工具之一。
但是您当然可以尝试Autohotkey,看来它也应该可以这样做。