Visual Studio Code最近发布了,我喜欢它的外观和提供的功能,所以我想尝试一下。

我从下载页面下载了应用程序,启动了它,对一些功能做了一些调整……然后意识到我不知道如何实际执行我的任何Python代码!

我真的很喜欢Visual Studio代码的外观和感觉/可用性/特性,但我似乎不知道如何运行我的Python代码,这是一个真正的杀手,因为我主要用Python编程。

是否有一种方法可以在Visual Studio code中执行Python代码?


当前回答

如果你为VSCode安装了Python语言扩展,它默认也会安装Jupyter和Pylance,这让你可以以交互的方式运行Python代码。

您所要做的就是在希望以交互方式执行的代码之前使用# %%。

只要你插入# %%,你就可以看到VSCode为你创建了一个新的Jupyter Cell。

在那里你可以点击运行单元格菜单,你可以看到结果。

所以,你所要做的就是在你的VSCode中输入以下代码,

# %%
text = 'Hello World from inline interactive Python'
print(text)

其他回答

在Visual Studio Code (Python)的最新版本(1.36)中:

按F5,然后按Enter,在集成终端中运行代码。

按Ctrl + A,然后按Shift + Enter,在交互式IPython shell中运行代码。

一个解决办法是:

选择所有的行:按Ctrl + A 运行选定的行:Shift + Enter

以下是当前(2018年9月)用于运行Python代码的扩展:

官方Python扩展:这是必须安装的。

代码运行器:对各种语言都非常有用,不仅仅是Python。我强烈推荐安装。

实时Python便签,在侧窗口中显示你的变量。我是这个的创建者,所以显然我认为它很棒,但我不能给出一个公正的意见¯\()/¯

Wolf:实时Python便签,内联显示结果

当然,如果你使用集成的终端,你可以在那里运行Python代码,而不必安装任何扩展。

有一个最简单的方法来创建run in terminal命令的快捷方式:

点击左边栏上的设置图标。 然后点击键盘快捷键。 粘贴python。execInTerminal在搜索栏顶部。 现在双击Python: Run Python File in Terminal命令对面的Keybinding列并设置快捷方式。

关于Visual Studio Code任务和调试器有很多困惑。让我们首先讨论它,以便了解何时使用任务,何时使用调试器。

任务

官方文件说-

有很多工具可以自动完成任务,比如检测、构建、 打包、测试或部署软件系统。例子包括 TypeScript编译器,linters,如ESLint和TSLint以及 构建像Make、Ant、Gulp、Jake、Rake和MSBuild这样的系统。 …VS Code中的任务可以配置为运行脚本并启动 过程,以便可以从内部使用许多现有工具 VS Code,而无需输入命令行或编写新代码。

因此,任务不是用来调试、编译或执行程序的。

调试器

如果我们检查调试器文档,就会发现有一种叫做运行模式的东西。上面写着

除了调试程序,VS Code还支持运行 程序。“调试:不启动调试”动作由 Ctrl+F5并使用当前选择的启动配置。许多 在“Run”模式下支持启动配置属性。VS 代码在程序运行时维护一个调试会话,并且 按下停止按钮终止程序。

所以,按F5和Visual Studio Code将尝试调试当前活动的文件。

按Ctrl + F5, Visual Studio Code将忽略断点并运行代码。

配置调试器

要配置调试器,请查阅文档。总之,它说,你应该修改启动。json文件。对于初学者来说,要在集成终端中运行代码(在Visual Studio code中),使用-

{
    "name": "Python: Current File (Integrated Terminal)",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal"
}

要在外部终端(在Visual Studio code之外)中运行代码,请使用-

{
    "name": "Python: Current File (External Terminal)",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "externalTerminal"
}

注意:如果所有的文档都很容易搜索和理解,那么我们可能就不需要Stack Overflow了。幸运的是,我在这篇文章中提到的文档非常容易理解。请随意阅读、思考和享受。