Thy*_*st' 8 python debugging visual-studio-code
有什么简单的方法可以在带有参数的VS Code中运行python文件吗?
我知道我可以launch.json使用args关键字在文件中添加自定义配置。但是,launch.json仅仅因为我想使用不同的参数,每次修改都是很烦人的。
Jer*_*son 31
Visual Studio Code 仅支持一个launch.json文件。但是,它支持两种或多种配置,它们出现在左侧菜单/窗格的下拉列表中(而不是“无配置”)。
在 DEBUG 窗格中,单击上面红色圈出的Config按钮或单击蓝色链接“create launch.json file”:
单击它,它会创建一个带有调试配置的launch.json文件。编辑此文件并以这种密钥对格式添加参数,并为不同的参数添加多个参数,包括变量替换!
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File with my args",
"type": "python",
"request": "launch",
"program": "${file}",
"args": [
"--username", "Jeremy",
"--account", "Stackoverflow"
],
"console": "integratedTerminal"
},
{
"name": "Python: Current File with UserName arg",
"type": "python",
"request": "launch",
"program": "${file}",
"args": ["${env:USERNAME}"],
"console": "integratedTerminal"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在 Python 脚本中放置一个断点,例如在下面的第一行def main(...),然后按F5或单击Run Menu > Start Debugging。
一种解决方法是让您的脚本要求命令行参数(在内部 Visual Studio Code 控制台中)。
依靠readline可以使这更有用,它允许您执行诸如按向上箭头键循环浏览以前的命令(命令历史记录)等操作。一个例子:
import argparse, readline
def main():
# Ask for additional command line arguments if needed (for VSCode)
parser = argparse.ArgumentParser()
parser.add_argument('--interactive', action='store_true', default=False)
(args, rest) = parser.parse_known_args()
if args.interactive:
try: readline.read_history_file()
except: pass
rest += input("Arguments: ").split(" ") # Get input args
try: readline.write_history_file()
except: pass
# Your other script arguments go here
parser.add_argument("-output-dir", default="/out")
# ...
args = parser.parse_args(rest)
print(args)
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
然后只需将 Visual Studio Code 设置为始终传入--interactive参数,即使您设置断点,您的脚本也将始终要求提供参数(带有历史记录!)。
您可以添加自定义任务来执行此操作。这涉及tasks.json. 您可以为您的项目(项目文件夹)添加一个默认的tasks.json文件。按着这些次序。键盘按Ctrl+ Shift+ B。会提示如下弹窗
单击Configure Build Task如果已经在以下位置编辑器中创建了自定义 tasks.json文件.vscode/tasks.json将打开它。如果没有,它会下拉现有任务运行器的建议。
我们的目的是为我们的项目创建一个自定义的tasks.json文件,因此要创建一个,我们需要从下拉列表中选择其他选项。检查下面的屏幕截图。
一旦你选择了Others选项,你会看到一个默认的tasks.json文件将从项目的根目录创建到 location .vscode/tasks.json。下面是一个tasks.json的例子。
现在编辑tasks.json文件以支持 Python。
"echo"为"Python""Always"["Hello World"]为["${file}"](文件名)problemMatcher您现在可以打开 .py 文件并使用快捷方式Ctrl+ Shift+很好地运行它B。
如果您的项目中没有\xe2\x80\x99t文件,您可以按Ctrl+ Shift+创建一个新文件B创建一个新文件。然后选择向您显示的第一个选项,然后将其全部替换为以下内容:
\n{\n // See https://go.microsoft.com/fwlink/?LinkId=733558\n // for the documentation about the tasks.json format\n "version": "2.0.0",\n "tasks": [\n {\n "label": "Run Python with argument",\n "type": "shell",\n "command": "python PROGRAM_NAME.py ARG1 ARG2 ...",\n "group": {\n "kind": "build",\n "isDefault": true\n }\n }\n ]\n}\nRun Code Online (Sandbox Code Playgroud)\n否则将上述配置添加到现有的tasks.json中文件中。
\n将上述配置中的 PROGRAM_NAME 替换为您的程序名称,ARG1 ARG2 ... 表示您的具体参数。
\n毕竟,您可以使用Ctrl+ Shift+执行您创建的任务B执行创建的任务,并选择新的“使用参数运行 Python”任务。
\n| 归档时间: |
|
| 查看次数: |
10797 次 |
| 最近记录: |