如何从Visual Studio代码中执行Python代码

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

我从下载页面下载了该应用程序  把它搞砸了,稍微弄乱了一些功能......然后意识到我不知道如何实际执行我的任何Python代码!

我非常喜欢Visual Studio Code的外观和可用性/功能,但我似乎无法找到如何运行我的Python代码,这是一个真正的杀手,因为这是我编程的主要内容。

有谁知道是否有办法在Visual Studio代码中执行Python代码?

15个解决方案

126 votes

运行Python有一种更简单的方法,无需任何配置:

安装Code Runner Extension

在文本编辑器中打开Python代码文件,然后使用快捷键File,或按Preference然后选择/键入Settings,代码将运行,输出将显示在输出窗口中。


如果要添加Python路径,可以转到File-> Preference-> Settings,并添加如下所示的Python路径:

"code-runner.executorMap":
{
"python": "\"C:\\Program Files\\Python35\\python.exe\""
}
Jun Han answered 2019-06-03T23:05:06Z

90 votes

以下是如何在Visual Studio代码中配置任务运行器以运行py文件。

在您的控制台中按Ctrl + Shift + P(Windows)或Cmd + Shift + P(Apple),这会打开一个搜索框,您可以在其中搜索“配置任务运行器”


编辑:如果这是您第一次打开“任务:配置任务运行器”,则需要在下一个选择列表的底部选择“其他”。

这将显示属性,然后您可以根据自己的喜好进行更改。 在这种情况下,您要更改以下属性;

将Command属性从problemMatcher(TypeScript)更改为["Helloworld.ts"]

将showOutput从problemMatcher更改为["Helloworld.ts"]

更改problemMatcher(参数)从["Helloworld.ts"]到["${file}"](filename)

删除最后一个属性problemMatcher

保存所做的更改


您现在可以打开py文件并使用快捷键Ctrl + Shift + B(Windows)或Cmd + Shift + B(Apple)很好地运行它

请享用!

python_starter answered 2019-06-03T23:06:34Z

62 votes

您可以添加自定义任务来执行此操作。 这是Python的基本自定义任务。

{
"version": "0.1.0",
"command": "c:\\Python34\\python",
"args": ["app.py"],
"problemMatcher": {
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*)+s$",
"message": 1
}
}
}

您将其添加到tasks.json并按CTRL + SHIFT + B运行它。

Fenton answered 2019-06-03T23:04:21Z

40 votes

所有这些答案现在已经过时了。

目前你必须:

安装Python语言扩展(显然是python)

打开文件夹(重要!),打开该文件夹中的任何python文件

切换到调试“tab”(?)并单击变速箱(提示'配置修复'launch.json'')

保存打开的launch.json文件(它放在步骤#2中打开的文件夹中的.vscode子文件中)

最后,单击绿色三角形或按F5

现在不需要额外的扩展或手动launch.json编辑。

vlad2135 answered 2019-06-03T23:07:46Z

20 votes

扩展@ vlad2135的答案(读他的第一个); 这就是你如何使用Don Jayamanne的伟大python扩展在VSCode中设置python调试(现在这是一个非常全功能的用于python的IDE,可以说是VS代码中最好的语言扩展之一IMO)。

基本上,当您单击齿轮图标时,它会在工作区的.vscode目录中创建一个launch.json。 您也可以自己制作,但让VSCode完成繁重工作可能更简单。 这是一个示例文件:


生成后你会注意到一些很酷的东西。 它会自动创建一系列配置(我的大多数都被截断,只是滚动查看它们),具有不同的设置和不同库或环境的额外功能(如django)。 你可能最终使用的那个是python; 这是一个简单的(在我的情况下是C)Python调试器,并且最容易使用设置。 我将简要介绍一下json属性,因为其他人使用的是几乎相同的配置,只有不同的解释器路径和一个或两个不同的其他功能。

name:配置的名称。 你改变它的一个有用的例子是你有两个使用相同类型的配置但不同参数的python配置。 这是你在左上方看到的框中显示的内容(我的框中显示“python”,因为我使用的是默认的python配置)。

类型:解释器类型。 你通常不想改变这个。

请求:您希望如何运行代码,并且通常也不想更改此代码。 默认值为.vscode/,但将其更改为"${file}"允许调试器附加到已运行的python进程。 而不是更改它,添加类型为attach的配置并使用它。

stopOnEntry:Python调试器喜欢在启动程序时有一个不可见的断点,这样你就可以看到入口点文件以及你的第一行活动代码所在的位置。 它驱使像我这样疯狂的C#/ Java程序员。 .vscode/如果您不需要,请致电"${file}"。

pythonPath:安装python的路径。 默认值在用户/工作区设置中获取扩展级别默认值。 如果您想为不同的调试过程使用不同的pythons,请在此处更改它。 如果要为项目中设置为默认配置的所有调试进程更改它,请在工作区设置中更改它。 在用户设置中更改它以更改扩展在所有项目中找到python的位置。 (4/12/17以下内容已在扩展版本0.6.1中修复)。 具有讽刺意味的是,这会导致自动生成错误。 它自动生成“$ {config.python.pythonPath}”,在较新的VSCode版本中不推荐使用。 它可能仍然有效,但您应该使用“$ {config:python.pythonPath}”代替路径或VS设置上的默认第一个python。 (4/6/17编辑:这应该在下一个版本中修复。团队几天前提交修复。)

program:调试程序启动时启动的初始文件。 .vscode/是您作为工作区打开的根文件夹(当您转到文件图标时,基本打开文件夹。)如果您希望程序快速运行,或者您的程序有多个入口点,则另一个巧妙的技巧是 将其设置为"${file}",它将在您打开的文件中开始调试,并在您点击调试时获得焦点。

cwd:您正在运行的项目的当前工作目录文件夹。 通常你只想离开这个.vscode/。

debugOptions:一些调试器标志。 图中的那些是默认标志,你可以在python调试器页面找到更多的标志,我敢肯定。

args:这实际上不是默认配置设置,但仍然是一个有用的设置(可能是OP所询问的)。 这些是您传递给程序的命令行参数。 调试器将这些传递给你的终端;就像你输入的那样:.vscode/; 将列表中的每个json字符串按顺序传递给程序。

您可以访问此处以获取有关可用于配置调试器和路径的VSCode文件变量的更多信息。

您可以在此处获取有关可选和必需属性的扩展自己的启动选项文档。

如果您没有在文件中看到配置模板,可以单击右下角的“添加配置”按钮。 它将为您提供一个列表,用于自动生成大多数常见调试进程的配置。

现在,根据vlad的回答,你可以按照普通的可视化调试器添加你需要的任何断点,在左上角的下拉菜单中选择你想要的运行配置,然后点击左边的绿色箭头来配置名称来启动你的程序。

专业提示:团队中不同的人使用不同的IDE,他们可能不需要您的配置文件。 VSCode几乎总是将它的IDE文件放在一个地方(为此目的设计;我假设),启动或其他,所以如果这是你第一次生成VSCode文件,请确保将.vscode/添加到.gitignore(此过程将创建 工作区中的文件夹(如果您还没有)!

RMSD answered 2019-06-03T23:10:07Z

14 votes

Python for VS Code扩展中有一个Run Python File in Terminal命令。


kenwarner answered 2019-06-03T23:10:34Z

9 votes

如Visual Studio代码文档中所述,只需右键单击编辑器中的任意位置,然后选择在终端中运行Python文件。

AndreaB answered 2019-06-03T23:11:00Z

6 votes

您不再需要任何其他扩展程序。 您只需将调试器的输出切换到集成终端即可。

按Ctrl + Shift + D,然后从顶部的下拉列表中选择集成终端/控制台。

NickD answered 2019-06-03T23:11:34Z

4 votes

如果您使用的是最新版本的vs代码(版本1.21.1)。 task.json格式已更改,请参见此处。 所以@Fenton和@python_starter的答案可能不再有效。

在开始配置之前

在开始配置vs代码以运行python文件之前。

确保已安装Python并将其可执行文件添加到系统PATH中。

您必须将python源文件所在的文件夹设置为工作文件夹(请转至Tasks设置您的工作文件夹)。

配置步骤

现在您可以配置任务。 以下步骤将帮助您正确运行python文件:

使用Ctrl + Shift + P并输入Tasks,您将看到一个选项列表,选择Run Task。


然后,系统将提示您Tasks,选择此选项,系统将提示您从选项列表中进行选择。 选择Run Task。


然后在打开的Tasks文件中,使用以下设置:

Tasks

在上述设置中,您可以为此任务提供有意义的Tasks。 例如,Run Task。

转到Tasks菜单,然后单击Run Task.系统将提示您选择任务。 只需选择新创建的run this script任务即可。 您将在TERMINAL选项卡中看到结果。



有关任务配置的更完整教程,请转到vs代码官方文档。

jdhao answered 2019-06-03T23:13:29Z

3 votes

因此到目前为止,有四种方法可以在VSCode中运行Python:

通过一个集成的终端(来吧它集成了!所以从技术上讲,你从VSCode中运行它;)无需安装任何扩展程序。

无需创建和配置任何内容(假设您的launch.js中已有python)。

launch.js(开放式终端)和python(运行文件)。

通过自定义任务(接受@ Fenton的回答):无需安装任何扩展程序。

默认VSCode的做事方式。

请注意不要复制粘贴答案,因为它的launch.js已损坏并且它会挂起编辑器。 最好删除python或将regexp更改为至少^\\s+(.*)$。

通过Code Runner扩展(@ JanHan的回答):

需要在用户设置中配置launch.js(添加python的路径)。

非常有用的扩展,特别是如果你不仅在VSCode中运行Python。

通过微软的官方Python扩展(@ vlad2135的回答):需要创建launch.js(在VSCode的Debug选项卡中点击几下)。

对于那些想要将VSCode用作Python的主要IDE的人来说,扩展是必须的。

Nikolay Kulachenko answered 2019-06-03T23:15:31Z

2 votes

简单直接的Python扩展可以节省时间和精力。安装完成后,Linting,调试,代码完成是可用的功能。 在此之后,要运行代码,需要配置适当的Python安装路径以运行代码。 用户范围中可以使用常规设置,可以为Python语言配置工作区 - "python.pythonPath": "c:/python27/python.exe"通过上述步骤,至少可以执行基本的Python程序。

w1n5rx answered 2019-06-03T23:16:03Z

2 votes

这是运行python的当前(2018年9月)扩展:

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

Code Runner:对各种语言都非常有用,而不仅仅是python。 强烈建议安装。

AREPL:实时python暂存器,在侧窗口中显示变量。 我是这个的创造者,所以很明显我认为它很棒,但我不能给出一个公正的意见¯\ _(ツ)_ /¯

Wolf:实时python暂存器,以内联方式显示结果

Jupyter:Jupyter,但在VSCode中。 与原子氢相似。 混合评论,但jupyter的粉丝可能想尝试一下。

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

Almenon answered 2019-06-03T23:17:13Z

0 votes

超级简单:

按F5键,代码将运行。如果设置了断点,则按F5将在断点处停止并以Debug模式运行代码。

user2371563 answered 2019-06-03T23:17:45Z

0 votes

如果您正在运行代码并希望通过在终端中运行程序来获取输入。 最好的办法是直接通过右键单击终端运行它,然后选择“在终端中运行python文件”。


Fustock leonvaesr answered 2019-06-03T23:18:15Z

0 votes

为了使用各自的venv启动当前文件,我将其添加到bin

{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"pythonPath": "${workspaceFolder}/FOO/DIR/venv/bin/python3"
},

在bin文件夹中驻留从常规终端运行时定期获取的source .../venv/bin/activate脚本

ItsmeJulian answered 2019-06-03T23:18:52Z