1 Star 0 Fork 0

joyni/vscode-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
shell_exec.py 1.38 KB
一键复制 编辑 原始数据 按行查看 历史
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
import os
import sys
import subprocess
# This is a simple solution to waiting for completion of commands sent to terminal.
# 1. Intercept commands send to a terminal
# 2. Send commands to our script file with an additional argument
# 3. In here create a file that'll log the progress.
# 4. Calling code monitors the contents of the file to determine state of execution.
# Last argument is a file that's used for synchronizing the actions in the terminal with the calling code in extension.
lock_file = sys.argv[-1]
shell_args = sys.argv[1:-1]
print("Executing command in shell >> " + " ".join(shell_args))
with open(lock_file, "w") as fp:
try:
# Signal start of execution.
fp.write("START\n")
fp.flush()
subprocess.check_call(shell_args, stdout=sys.stdout, stderr=sys.stderr)
# Signal start of execution.
fp.write("END\n")
fp.flush()
except Exception:
import traceback
print(traceback.format_exc())
# Signal end of execution with failure state.
fp.write("FAIL\n")
fp.flush()
try:
# ALso log the error for use from the other side.
with open(lock_file + ".error", "w") as fpError:
fpError.write(traceback.format_exc())
except Exception:
pass
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/luluunusually/vscode-python.git
git@gitee.com:luluunusually/vscode-python.git
luluunusually
vscode-python
vscode-python
master

搜索帮助