Visual Studio Code vs Выполнение и повторное выполнение сценария Sublime Text с открытым внешним windows (интерфейс визуализации UI или VTK) - PullRequest
0 голосов
/ 20 апреля 2020

У меня проблемы с повторным запуском скрипта python с использованием «Запустить Python Файл в терминале». Я пришел из фона Sublime Text 3. В высшей степени я обычно запускаю некоторый код, который визуализирует 3D STL с использованием модуля VTK. Когда я запускаю код, открывается окно рендерера с 3D-моделью. Как правило, в Sublime Text, когда я перезапускаю скрипт, открывается новое окно рендерера с той же 3D-моделью. Поэтому для каждого запуска скрипта открывается новое окно рендерера. В VS Code окно рендера открывается при первом запуске, но затем скрипт блокируется. Если я снова запускаю сценарий, не закрывая окно рендеринга, выполнение блокируется, пока окно рендерера не закроется. Это создает проблему, так как мне иногда нужно сравнивать изменения в модели между запуском скрипта и тем, как они отображаются.

Есть ли способ избежать необходимости закрывать окно рендера для повторного запуска сценария?

С наилучшими пожеланиями,

Пример кода:

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()

1 Ответ

0 голосов
/ 22 апреля 2020

Похоже, что Sublime Text создает новый терминал при каждом выполнении, в то время как VS Code повторно использует тот же терминал для экономии затрат / накладных расходов на воссоздание. Если вам нужно сравнить два терминала одновременно, вы можете запустить несколько терминалов в VS Code и скопировать и вставить строку выполнения из одного терминала и вставить ее в другой.

...