Visual Studio 代码与 Sublime Text 脚本执行和重新执行打开外部 windows(UI 或 VTK 渲染器)

Visual Studio Code vs Sublime Text script execution and re-execution with opened external windows (UI or VTK renderer)

我在使用 "Run Python File in Terminal" 重新 运行 一个 python 脚本时遇到问题。我来自 Sublime Text 3 背景。在 sublime 中,我通常 运行 一些使用 VTK 模块渲染 3D STL 的代码。当我 运行 代码时,渲染器 window 打开并显示 3D 模型。通常,在 Sublime Text 中,当我重新 运行 脚本时,一个新的渲染器 window 打开,显示相同的 3D 模型。因此,对于每个脚本 运行,都会打开一个新的渲染器 window。 在 VS Code 中,渲染器 window 在第一个 运行 上打开,但随后脚本被阻止。如果我在不关闭渲染器 window 的情况下再次 运行 脚本,则执行将被阻止,直到渲染器 window 关闭。这带来了一个问题,因为我有时需要比较脚本 运行 和它们如何呈现之间的模型变化。

有没有办法避免必须关闭渲染器 window 以再次 运行 脚本?

此致,

示例代码:

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 会重复使用同一个终端来保存游戏的 cost/overhead。如果您需要同时比较两个终端,您可以在 VS Code 中启动多个终端,然后从一个终端复制并粘贴执行行并将其粘贴到另一个终端。