Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在VisualStudio代码中执行代码,并用其输出替换执行的代码_Python_Visual Studio Code_Vim_Metaprogramming - Fatal编程技术网

Python 在VisualStudio代码中执行代码,并用其输出替换执行的代码

Python 在VisualStudio代码中执行代码,并用其输出替换执行的代码,python,visual-studio-code,vim,metaprogramming,Python,Visual Studio Code,Vim,Metaprogramming,我通常使用一些Python代码对代码的重复部分进行元编程。对于这些表达式的输出: for i in range(10): print(f"var{i} = myfunc(arg{i})") 让我自动分配一些变量: var0 = myfunc(arg0) var1 = myfunc(arg1) var2 = myfunc(arg2) var3 = myfunc(arg3) var4 = myfunc(arg4) var5 = myfunc(arg5) var6 =

我通常使用一些Python代码对代码的重复部分进行元编程。对于这些表达式的输出:

for i in range(10):
    print(f"var{i} = myfunc(arg{i})") 
让我自动分配一些变量:

var0 = myfunc(arg0)
var1 = myfunc(arg1)
var2 = myfunc(arg2)
var3 = myfunc(arg3)
var4 = myfunc(arg4)
var5 = myfunc(arg5)
var6 = myfunc(arg6)
var7 = myfunc(arg7)
var8 = myfunc(arg8)
var9 = myfunc(arg9)
理想情况下,预期的行为是,所选代码将被替换到使用其输出编写的文件中。在vim中有一些。我在VisualStudio代码中找不到类似的功能。以下是预期行为的原型:
要生成这种类型的重复代码,您可以使用

对于生成器表达式,请使用

(@var{{=j}} = myfunc\(arg{{=j}}\)){10}
它将在一行上生成所有代码,您必须将
@
替换为换行符,您可以使用多个光标(选择所有出现项-Ctrl+Shift+L)

在预览中支持换行是非常棘手的

可以释放10行,并在每行的开头放置一个光标(向下添加光标),然后使用下一个生成器扩展名

var{{=i}} = myfunc\(arg{{=i}}\)

谢谢,但是我没有使用太多的正则表达式,python允许我做很多我想象不到如何使用正则表达式的技巧。I@GM你可以用你的生成器脚本运行一个Jupyter笔记本,执行一个脚本并将代码复制粘贴到你的源代码是的,我通常这样做,但不是很方便,vim扩展非常适合这个任务,如果visual studio也有类似的功能,那就太好了code@GM你可以使用HyperSnips扩展并用Javascript编写脚本也许我可以像你一样自己开发一个扩展,我认为将输出重定向到剪贴板并粘贴它而不是突出显示的文本应该不会太困难。您是否创建了此扩展(查看动画),或者这是请求的扩展behavior@rioV8不,这是意料之中的行为,我一有空余时间就会设法延期