Visual Studio代码与Sublime文本脚本执行以及使用打开的外部窗口(UI或VTK渲染器)重新执行



使用"在终端中运行python文件"重新运行python脚本时遇到问题。我来自Sublime Text 3背景。在sublime中,我通常使用VTK模块运行一些渲染3D STL的代码。当我运行代码时,会打开一个渲染器窗口,显示三维模型。通常,在Sublime Text中,当我重新运行脚本时,会打开一个新的渲染器窗口,显示相同的3D模型。因此,每次运行脚本时,都会打开一个新的渲染器窗口。在VS代码中,第一次运行时会打开一个呈现器窗口,但随后脚本会被阻止。如果在不关闭渲染器窗口的情况下再次运行脚本,则执行将被阻止,直到渲染器窗口关闭为止。这带来了一个问题,因为我有时需要比较脚本运行和渲染方式之间的模型更改。

有没有办法避免必须关闭渲染器窗口才能再次运行脚本?

谨致问候,

样本代码:

import vtk
# create a rendering window and renderer
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
# create a renderwindowinteractor
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# create source
source = vtk.vtkSphereSource()
source.SetCenter(0,0,0)
source.SetRadius(5.0)
# mapper
mapper = vtk.vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
mapper.SetInput(source.GetOutput())
else:
mapper.SetInputConnection(source.GetOutputPort())
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# assign actor to the renderer
ren.AddActor(actor)
# enable user interface interactor
iren.Initialize()
renWin.Render()
iren.Start()

听起来Sublime Text在每次执行时都会创建一个新的终端,而VS Code则会重用同一个终端来节省重新创建的成本/开销。如果需要同时比较两个终端,可以在VS Code中启动多个终端,并从一个终端复制和粘贴执行行,然后将其粘贴到另一个终端。

最新更新