如何在Visual Studio Code中执行Python代码


204

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

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

我真的很喜欢Visual Studio Code的外观/可用性/功能,但是我似乎找不到如何运行我的Python代码的方法,这是一个真正的杀手,因为这主要是我编写程序的目的。

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

Answers:


107

这是在Visual Studio Code中配置任务运行器以运行py文件的方法。

在控制台中,按Ctrl+ Shift+ P(Windows)或Cmd+ Shift+ P(Apple),这会弹出一个搜索框,您可以在其中搜索“配置任务运行器” 在此处输入图片说明

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

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

  1. 将命令属性从"tsc"(TypeScript)更改为"Python"
  2. 将showOutput从更改"silent""Always"
  3. args(参数)从更改["Helloworld.ts"]["${file}"](文件名)
  4. 删除最后一个属性 problemMatcher
  5. 保存所做的更改

在此处输入图片说明

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

请享用!


3
嗨,有没有一种方法可以启用VS Code输入?
威廉·库

这个Task Runner是Visual Studio还是Python?

这是VS的配置文件,但它是每个项目的实例,保留在.vscode项目文件结构的目录中
y16年

1
从2020年3月开始,应使用具有更新的键值对的任务配置的更新版本,请参阅code.visualstudio.com/docs/editor/tasks#vscode并使用“任务:配置任务”
HoseinGhanbari

python的哪一部分引用了新建的vscode?谢谢
Stu_Dent

222

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

  1. 安装Code Runner扩展程序
  2. 在文本编辑器中打开Python代码文件。
  3. 要运行Python代码:
    • 使用捷径 Ctrl+Alt+N
    • 或按F1,然后选择/键入Run Code
    • 或右键单击“文本编辑器”,然后Run Code在编辑器上下文菜单中单击
    • Run Code在编辑器标题菜单中单击按钮
    • Run Code在文件浏览器的上下文菜单中单击按钮
  4. 要停止运行的代码:
    • 使用捷径 Ctrl+Alt+M
    • 或按F1,然后选择/键入Stop Code Run
    • 或右键单击“输出通道”,然后Stop Code Run在上下文菜单中单击

运行python

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

"code-runner.executorMap": 
{ 
  "python": "\"C:\\Program Files\\Python35\\python.exe\" -u" 
}

如果您已经安装了Python扩展并已经手动设置了解释器,则可以按以下方式配置settings.json文件:

{
    "python.pythonPath": "C:\\\\python36\\\\python36.exe",
    "code-runner.executorMap": 
    { 
        "python": "$pythonPath -u $fullFileName" 
    }
}

1
您说“如果要添加Python路径..”,如何不这样做就使它起作用?添加路径是我可以使用它的唯一方法。在我意识到添加路径是必需的之前,花了很多时间摆弄。最好强调一点。
bonzo46 '18

1
即使我可以运行代码,也无法与它进行交互。例如,当使用诸如input('Enter a number:')之类的命令提示输入时,输出窗口不接受任何键入的字符。如何从VS Code内部传递回输入?
bonzo46 '18

1
@ bonzo46您可以使用此设置"code-runner.runInTerminal": true。它允许您输入。欲了解更多详情,请参阅github.com/formulahendry/vscode-code-runner/issues/...
韩军

76

您可以添加自定义任务来执行此操作。这是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运行它。


1
请注意,上面的正则表达式(/^(.*)+s$/)导致指数运行时行为。见regular-expressions.info/catastrophic.htmlbugs.chromium.org/p/v8/issues/detail?id=4651
德克BAUMER

我不太确定(.*)+应该实现什么目标。*已经与上一项匹配0次或多次,并且+与上一项匹配一次或多次,因此您要匹配0个或多个字符...一次或多次?
emsimpson92 '18 / 10/15

在Mac上不起作用“无法启动外部程序“ c:\\ Python34 \\ python” app.py。生成c:\ Python34 \ python ENOENT”
Awesome_girl

@Awesome_girl您需要为MacOS编辑该行,还需要为您的独特环境进行编辑。例如,“ my” python位于/usr/local/bin/python3.7。您可以使用which pythonTerminal.app中的命令找到所需的对象。
wgj

64

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

目前,您必须:

  1. 安装Python语言扩展(显然是python)
  2. 打开文件夹(重要!),打开该文件夹中的所有python文件
  3. 切换到调试“选项卡”(?),然后单击齿轮箱(提示“修复的配置'launch.json”)
  4. 保存打开的launch.json文件(位于步骤2打开的文件夹中的.vscode子目录中)
  5. 最后,点击绿色三角形或点击F5

现在不需要任何其他扩展或手动launch.json编辑。


如果您可以显示有效配置的示例(json片段),将很有帮助。我不断出错。
埃文·扎米尔

我相信只有在安装了“代码运行器”扩展名后,此答案才有效。
PatKilg '17

1
@EntropyWins我认为他指的是成熟的Python扩展。谷歌快速搜索显示,VS Code自己的Python使用指南推荐了此扩展,并遵循与我们相同的许多步骤。
RMSD

我认为您是对的,我的UI上有几个绿色三角形,其中最有用的只有在安装代码运行器之后才会出现。现在,我看到此答案使用本机调试器来“运行”代码。
PatKilg '17

是的,我不得不添加代码亚军扩展名,然后手动添加我的Python路径@Jun汉的评论解释,但随着替代的附加步骤中的所有“\” S IN为“/”的路径
bonzo46

27

扩展@ vlad2135的答案(阅读他的第一篇);这就是您使用Don Jayamanne出色的python 扩展在VSCode中设置python调试的方式(如今,这是一个功能齐全的python IDE,并且可以说是VS代码最好的语言扩展IMO之一)。

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

launch.json

生成后,您会发现一些很棒的东西。它自动创建了一堆具有不同设置和针对不同库或环境(如django)的附加功能的配置(大部分内容都被切除,只需滚动即可查看全部内容)。您最终可能会使用最多的是python;这是一个普通的(在我的情况下为C)Python调试器,最易于使用设置。我将简要介绍一下该属性的json属性,因为其他属性将使用几乎相同的配置,但仅具有不同的解释器路径以及一个或两个其他不同的功能。

  • name:配置名称。关于更改它的一个有用示例是,如果您有两个使用相同配置类型但参数不同的python配置。这是您在左上角看到的框中显示的内容(由于我使用的是默认的python配置,因此我的框中显示“ python”)。
  • 类型:解释器类型。您通常不想更改此选项。
  • 请求:您希望如何运行代码,并且通常也不想更改此代码。默认值为"launch",但是将其更改为"attach"允许调试器附加到已经运行的python进程。无需更改它,而是添加类型attach的配置并使用它。
  • stopOnEntry:启动程序时,Python调试器喜欢有一个看不见的断点,因此您可以看到入口点文件以及活动代码的第一行所在的位置。它使像我这样的一些C#/ Java程序员疯狂。false如果您不想要它,true否则。
  • pythonPath:安装python的路径。默认值将在用户/工作区设置中获得扩展级别的默认值。如果要为不同的调试过程使用不同的python,请在此处更改。如果要对项目中设置为默认配置的所有调试过程进行更改,请在工作空间设置中进行更改。在用户设置中更改它,以更改扩展程序在所有项目中找到python的位置。(17年4月12日,在扩展版本0.6.1中修复了以下问题)。具有讽刺意味的是,这会自动产生错误。它会自动生成为“ $ {config.python.pythonPath}”,在较新的VSCode版本中已弃用。它可能仍然有效,但是您应该使用“ $ {config:python.pythonPath}”代替您的路径或VS设置中的默认第一个python。(17年4月6日编辑:应在下一发行版中修复。几天前,团队提交了此修复程序。)
  • 程序:点击运行时,调试器将启动初始文件。"${workspaceRoot}"是您作为工作区打开的根文件夹(当您转到文件图标时,即为基本打开的文件夹。)如果要使程序快速运行,或者您有多个进入程序的入口,另一个巧妙的窍门是设置为"${file}",将在您打开调试文件的那一刻开始对打开的文件进行调试
  • cwd:您正在运行的项目的当前工作目录文件夹。通常你只想离开这个"${workspaceRoot}"
  • debugOptions:一些调试器标志。图片中的是默认标志,我敢肯定,您可以在python调试器页面中找到更多标志。
  • args:这实际上不是默认的配置设置,但是仍然是一个有用的设置(可能是OP询问的内容)。这些是您传递给程序的命令行参数。调试器将它们像您键入的那样传递python file.py [args]给您:进入终端;将列表中的每个json字符串依次传递给程序。

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

您可以在此处查看扩展本身的启动选项文档,其中包含可选属性和必需属性。

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

现在,按照vlad的回答,您可以根据常规视觉调试器添加所需的任何断点,在左上角的下拉菜单中选择所需的运行配置,然后点击配置名称左侧的绿色箭头以启动程序。 。

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


1
这是有用的,但实际上并没有说明如何从VSCode运行python代码。
aaronsnoswell

1
仅供参考,出于某些原因,我需要在项目中手动将“程序”行添加到python模块和金字塔部分以清除所有错误
scld 2015年

@aaronsnoswell之后,单击调试菜单左上方的绿色箭头。弗拉德(Vlad)的回答涵盖了这个问题,这最初只是对关键部分的扩展/解释,他的回答只是浏览“设置launch.json”。
RMSD

@scld首先缺少的很奇怪,但是是的,这不是可选的。调试器需要知道何时启动程序。
RMSD

扩展来说,弗拉德的答案行之有效,这就是该答案行之有效的原因,以及您过去可以做的事情。
RMSD

21

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

在终端中运行Python文件


我认为人们遇到的问题是如何使用命令行参数运行文件。
埃文·扎米尔

我可以为其分配快捷方式吗?
Deepak Kumar Padhy'4

8
耶,当然了。绑定到的命令是python.execInTerminal
kenwarner

1
但是如何在Windows上为其分配快捷方式?
Mahir Islam '18

在Windows上使用sublinux bash时出错:“ C:\ Users \ User” Anaconda3 \ python.exe没有这样的文件或目录”
Biarys

16

Visualstudio Code Documentation中所述,只需在编辑器中的任意位置单击鼠标右键,然后选择“在Terminal中运行Python文件”。


经过数小时的搜索螺旋搜索后,我读到了这篇文章,所有内容突然都起作用了……有点生气的答案一直都是:P。绝对应该在此页面顶部附近。
Rushat Rai

1
如何添加快捷方式?
Mahir Islam '18

右键单击时没有此选项?但是,当我通过ctrl-shift-p运行命令时,我已经有了它。
Hrvoje T

同意,我不知道为什么这个答案不是最重要的:)
Alapati

这是太多的工作!我喜欢jupyter Notebook的shift + enter花招。您只需执行代码即可。他们在VScode中没有类似的东西吗?
网络数学

11

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

  1. 通过集成终端(来吧,它已经集成了!所以从技术上讲,您是从VSCode内部运行的;)
    • 无需安装任何扩展程序。
    • 无需创建和配置任何内容(假设您已经在python$PATH)。
    • ⌃Space(打开终端)和python my_file.py(运行文件)。
  2. 通过自定义任务(接受@Fenton的回答):
    • 无需安装任何扩展程序。
    • 默认的VSCode的处理方式。
    • 注意不要复制粘贴答案,因为答案problemMatcher.pattern.regexp已损坏并且挂起了编辑器。最好删除problemMatcherregexp至少更改为^\\s+(.*)$
  3. 通过Code Runner扩展程序(@JanHan的答案):

    • 需要code-runner.executorMap在“ 用户设置”中进行配置(将路径添加到python)。
    • 很有帮助的扩展,尤其是如果您不仅在VSCode中运行Python。
  4. 通过Microsoft的官方Python扩展(@ vlad2135的答案):
    • 需要创建launch.js(在VSCode的“调试”选项卡中单击两次)。
    • 对于那些想将VSCode用作Python的主要IDE的人来说,该扩展是必不可少的。

1
尼古拉(Nikolay),在这4种产品中,并假设安装扩展的成本可以忽略不计,您认为哪种生产效率最高?
sivabudh

3
@sivabudh我肯定会使用第四种方式。官方扩展给您带来了很多:自动完成,整理,调试等等。但这取决于您的情况。如果你只想写几个脚本则无须安装任何东西-只使用一个终端
尼古拉Kulachenko

尼古拉,感谢您的回复。我选择使用第4种方式,并且对VSCode与PyCharm的强大功能感到惊讶。非常感谢!
sivabudh

1
很高兴能为您提供帮助:)
Nikolay Kulachenko

9
  1. 安装Python扩展(Python应该安装在您的系统中)。要安装Python扩展,请按Ctrl+ Shift+ X,然后输入“ python”并输入。安装扩展。

  2. 打开包含python代码的文件。是! .py文件。

  3. 现在,要运行.py代码,只需右键单击编辑器屏幕,然后单击“在终端中运行Python文件”。而已!

现在,这是附加步骤。实际上,我一遍又一遍地单击鼠标后感到烦恼,因此我设置了快捷键。

  1. 点击左下角的“设置类型外观”图标->快捷键->输入“在终端中运行Python文件”。现在,您将看到该+号,然后选择快捷方式。你完成了!

7

您不再需要任何其他扩展。您可以简单地将调试器的输出切换到集成终端。

Ctrl+ Shift+ D,然后从顶部的下拉菜单中选择Integrated Terminal / Console。


7

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

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

代码运行器(Code Runner):对各种语言(不仅仅是python)非常有用。强烈建议安装。

AREPL:实时Python暂存器,可在侧窗口中显示变量。我是这个的创造者,所以很明显我认为这很棒,但是我不能给出公正的观点。

Wolf:实时显示结果的实时Python暂存器

当然,如果您使用集成终端,则可以在其中运行python,而不必安装任何扩展。


更新:Jupyter不再维护。根据VScode的通知,其所有功能都将包含在Python扩展中。
网络数学

7

VSCode Tasks和Debugger存在很多混乱。让我们首先讨论它,以便我们了解何时使用Tasks和何时使用Debugger。

任务

官方文件说-

存在许多工具可以自动化任务,例如整理,构建,打包,测试或部署软件系统。示例包括TypeScript编译器,ESLint和TSLint之类的linter以及Make,Ant,Gulp,Jake,Rake和MSBuild之类的构建系统。

....可以将VS Code中的任务配置为运行脚本并启动进程,以便可以在VS Code中使用许多现有工具,而无需输入命令行或编写新代码。

因此,任务不是用于调试,编译或执行我们的程序。

调试器

如果我们查看调试器文档,就会发现有一种叫做run mode的东西。它说 -

除了调试程序外,VS Code还支持运行程序。“ 调试:不调试开始”操作Ctrl+F5由当前选择的启动配置触发 并使用。“运行”模式支持许多启动配置属性。VS Code在程序运行时维护调试会话,然后按“停止”按钮将终止程序。

因此,按F5和VS Code将尝试调试当前活动的文件。

Ctrl+F5和VSCode将忽略您的断点并运行代码。

配置调试器

要配置调试器,请阅读文档。总而言之,您应该修改launch.json文件。对于初学者,要在集成终端中运行代码(在VS Code内部),请使用-

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

要在外部终端(VS Code之外)中运行代码,请使用-

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

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


5

超级简单:
按下F5键和代码运行。如果设置了断点,则按F5将在该断点处停止并在Debug模式下运行代码。


请注意,这实际上是最好的答案:首先安装Microsoft的Python扩展。大声笑
sivabudh

5

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

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

CTRL + A然后按SHIFT + Enter在交互式IPython Shell中运行代码。


4

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

开始配置之前

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

  • 确保已安装Python并将其可执行文件添加到系统PATH。
  • 您必须将python源文件所在的文件夹设置为工作文件夹(转到File -> Open Folder以设置工作文件夹)。

配置步骤

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

  1. 使用Ctrl+ Shift+ P并输入task,您将看到选项列表,选择Tasks: Configure Task

在此处输入图片说明

  1. 然后将提示您create task.json from template,选择此选项,然后将提示您从选项列表中进行选择。选择Others

在此处输入图片说明

  1. 然后在打开的task.json文件中,使用以下设置:

    {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "run this script",
            "type": "shell",
            "command": "python",
            "args": [
                "${file}"
            ],
            "problemMatcher": []
        }
    ]
    }

    在以上设置中,您可以label为该任务赋予意义。例如,run python

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

在此处输入图片说明 在此处输入图片说明

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


2

一个简单直接的Python扩展将节省时间和精力。安装完成后,即可使用lint,调试,代码完成。此后,要运行代码,需要配置正确的Python安装路径才能运行代码。常规设置用户范围内可用,并且可以为Python语言配置工作区-"python.pythonPath": "c:/python27/python.exe" 通过上述步骤,至少可以执行基本的Python程序。


2

如果您正在运行代码,并希望通过在终端中运行程序来接受输入。最好的方法是直接在终端上运行,只需右键单击并选择“在终端中运行python文件”即可。 在此处输入图片说明


2

Extension安装Code Runner。之后,您可以使用快捷方式在Visual Studio Code中运行源代码。

首先:运行代码:

  • 使用快捷键Ctrl+ Alt+N
  • 或按F1键,然后选择/键入“运行代码”,
  • 或右键单击“文本编辑器”,然后在编辑器上下文菜单中单击“运行代码”
  • 或在编辑器标题菜单中单击“运行代码”按钮
  • 或在文件资源管理器的上下文菜单中单击“运行代码”按钮。

第二:停止正在运行的代码:

  • 使用快捷键Ctrl+ Alt+M
  • 或按F1键,然后选择/键入Stop Code Run
  • 或右键单击“输出通道”,然后在上下文菜单中单击“停止代码运行”

2

我使用Python 3.7(32位)。要在Visual Studio Code中运行程序,请右键单击该程序,然后选择“在Python Interactive Window中运行当前文件”。如果没有Jupyter,可能会要求您安装它。

在此处输入图片说明


2

如果我只想在终端中运行Python文件,我将为该命令创建一个键盘快捷键,因为默认情况下没有快捷键(您的路径中需要包含python):

  • 转到首选项->键盘快捷键
  • 键入“在终端中运行python文件”
  • 单击该命令的“ +”并输入键盘快捷键

我用ctrl + alt + n


1

我已经通过Anaconda安装了python。通过anaconda启动VS代码,我能够运行python程序。但是,我找不到直接运行.py文件的任何快捷方式(热键)。

(使用截至2019年2月21日的最新版本以及VS Code随附的Python扩展。链接:https : //marketplace.visualstudio.com/items?itemName=ms-python.python

以下工作:

  1. 右键单击并选择“在终端中运行python文件”对我有用。
  2. CTRL + A然后SHIFT + ENTER(在Windows上)

下面类似于@jdhao所做的事情。

这是我为获取热键所做的:

  1. Ctrl + Shift + B //运行构建任务
  2. 它提供了配置选项
  3. 我单击它以获得更多选项。我点击了其他配置
  4. 已打开“ tasks.json”文件

我使代码看起来像这样:

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Run Python File", //this is the label I gave
                "type": "shell",
                "command": "python",
                "args": ["${file}"]

保存后,文件更改为:

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Run Python File",
                "type": "shell",
                "command": "python",
                "args": [
                    "${file}"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
  1. 保存文件“tasks.json”后,转到您的Python代码,然后按 CTRL + SHIFT + B
  2. 然后单击运行任务->运行Python文件///这是您给的标签。

现在,每当您按CTRL + SHIFT + B时,python文件将自动运行并向您显示输出:)


0

为了使用相应的venv启动当前文件,我将其添加到 launch.json

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

从常规终端运行时,该bin文件夹中驻留的source .../venv/bin/activate脚本是常规来源的脚本


0

如果您有一个包含多个python文件的项目,并且希望与主程序无关地开始运行/调试,则与当前文件无关,可以创建以下启动配置(更改MyMain.py为主文件)

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Main File",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/MyMain.py",
      "console": "integratedTerminal",
      "cwd": "${workspaceFolder}"
    }
  ]
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.