mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
feature(vscode): support for controlling vscode from widgets
This commit is contained in:
@ -49,11 +49,19 @@ class VSCodeEditor(WebsiteWidget):
|
|||||||
This method starts the server for the VSCode editor in a subprocess.
|
This method starts the server for the VSCode editor in a subprocess.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
env = os.environ.copy()
|
||||||
|
env["BEC_Widgets_GUIID"] = self.gui_id
|
||||||
|
env["BEC_REDIS_HOST"] = self.client.connector.host
|
||||||
cmd = shlex.split(
|
cmd = shlex.split(
|
||||||
f"code serve-web --port {self.port} --connection-token={self.token} --accept-server-license-terms"
|
f"code serve-web --port {self.port} --connection-token={self.token} --accept-server-license-terms"
|
||||||
)
|
)
|
||||||
self.process = subprocess.Popen(
|
self.process = subprocess.Popen(
|
||||||
cmd, text=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, preexec_fn=os.setsid
|
cmd,
|
||||||
|
text=True,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.DEVNULL,
|
||||||
|
preexec_fn=os.setsid,
|
||||||
|
env=env,
|
||||||
)
|
)
|
||||||
|
|
||||||
os.set_blocking(self.process.stdout.fileno(), False)
|
os.set_blocking(self.process.stdout.fileno(), False)
|
||||||
|
@ -52,6 +52,7 @@ def test_start_server(qtbot, mocked_client):
|
|||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.DEVNULL,
|
stderr=subprocess.DEVNULL,
|
||||||
preexec_fn=os.setsid,
|
preexec_fn=os.setsid,
|
||||||
|
env=mock.ANY,
|
||||||
)
|
)
|
||||||
in mock_popen.mock_calls
|
in mock_popen.mock_calls
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user