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

How to execute Python code from within Visual Studio Code

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

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

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

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


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

  • 安装Code Runner扩展
  • 在文本编辑器中打开Python代码文件,然后使用快捷方式Ctrl+Alt+N或按F1,然后选择/键入Run Code,代码将运行,输出将显示在"输出"窗口中。
  • run python

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

    1
    2
    3
    4
    "code-runner.executorMap":
    {
     "python":""C:\\Program Files\\Python35\\python.exe""
    }


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

    在控制台中,按Ctrl + Shift + P(Windows)或Cmd + Shift + P(Apple),这会弹出一个搜索框,您可以在其中搜索"配置任务运行器"
    enter image description here

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

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

  • 将Command属性从"tsc"(TypeScript)更改为"Python"
  • 将showOutput从"silent"更改为"Always"
  • args(参数)从["Helloworld.ts"]更改为["${file}"](文件名)
  • 删除最后一个属性problemMatcher
  • 保存所做的更改
  • enter image description here

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

    请享用!


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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
       "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来运行它。


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

    目前,您必须:

  • 安装Python语言扩展(显然是python)
  • 打开文件夹(重要!),打开该文件夹中的所有python文件
  • 切换到调试"选项卡"(?),然后单击齿轮箱(提示"修复的配置'launch.json")
  • 保存打开的launch.json文件(将其放置在第2步打开的文件夹中的.vscode子目录中)
  • 最后,点击绿色三角形或点击F5
  • 现在不需要其他扩展或手动launch.json编辑。


    扩展@ 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}",它将在您打开调试文件并在您点击debug时立即聚焦。
  • cwd:您正在运行的项目的当前工作目录文件夹。通常,您只想离开此"${workspaceRoot}"
  • debugOptions:一些调试器标志。图片中的是默认标志,我敢肯定,您可以在python调试器页面中找到更多标志。
  • args:这实际上不是默认配置设置,但是仍然是一个有用的设置(可能是OP询问的内容)。这些是您传递给程序的命令行参数。调试器将这些参数传递给您,就像您键入了它们一样:python file.py [args]进入终端。将列表中的每个json字符串依次传递给程序。
  • 好。

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

    好。

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

    好。

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

    好。

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

    好。

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

    好。

    好。


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

    Run Python File in Terminal


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


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

  • 通过集成终端(来吧,它已经集成了!所以从技术上讲,您是从VSCode内部运行它的;)

    • 无需安装任何扩展程序。
    • 无需创建和配置任何内容(假设您在$PATH中已经有python)。
    • ?Space(打开的终端)和python my_file.py(运行文件)。
  • 通过自定义任务(接受@Fenton的回答):

    • 无需安装任何扩展程序。
    • 默认的VSCode的处理方式。
    • 当心不要复制粘贴答案,因为它的problemMatcher.pattern.regexp损坏了并且挂起了编辑器。最好删除problemMatcher或将regexp更改为至少^\\s+(.*)$
  • 通过Code Runner扩展程序(@JanHan的答案):

    • 需要在用户设置中配置code-runner.executorMap(将路径添加到python)。
    • 很有帮助的扩展,尤其是如果您不仅在VSCode中运行Python。
  • 通过Microsoft的官方Python扩展(@ vlad2135的答案):

    • 需要创建launch.js(在VSCode的"调试"选项卡中单击两次)。
    • 对于那些想将VSCode用作Python的主要IDE的人来说,该扩展是必不可少的。

  • 安装Python扩展(Python应该安装在您的系统中)。要安装Python Extension,请按Ctrl + Shift + X,然后输入" python"并输入。安装扩展。

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

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

  • 现在,这是附加步骤。实际上,我一遍又一遍地单击鼠标,因此设置了快捷键,这让我很恼火。

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

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

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


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

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

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

    AREPL:实时Python暂存器,可在侧窗口中显示变量。我是这个的创造者,所以显然我认为这很棒,但我不能给出公正的看法ˉ _(ツ)_ /ˉ

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

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


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


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

    开始配置之前

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

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

    配置步骤

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

  • 使用Ctrl + Shift + P并输入task,您将看到选项列表,选择Tasks: Configure Task
  • enter image description here

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {
    "version":"2.0.0",
    "tasks": [
        {
           "label":"run this script",
           "type":"shell",
           "command":"python",
           "args": [
               "${file}"
            ],
           "problemMatcher": []
        }
    ]
    }

    在以上设置中,您可以为该任务指定一个有意义的label。例如,run python

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

  • enter image description here
    enter image description here

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


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

    任务

    官方文件说-

    Lots of tools exist to automate tasks like linting, building,
    packaging, testing, or deploying software systems. Examples include
    the TypeScript Compiler, linters like ESLint and TSLint as well as
    build systems like Make, Ant, Gulp, Jake, Rake, and MSBuild.

    .... Tasks in VS Code can be configured to run scripts and start
    processes so that many of these existing tools can be used from within
    VS Code without having to enter a command line or write new code.

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

    调试器

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

    In addition to debugging a program, VS Code supports running the
    program. The Debug: Start Without Debugging action is triggered with
    Ctrl+F5 and uses the currently selected launch configuration. Many of
    the launch configuration attributes are supported in 'Run' mode. VS
    Code maintains a debug session while the program is running, and
    pressing the Stop button terminates the program.

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

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

    配置调试器

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

    1
    2
    3
    4
    5
    6
    7
    {
       "name":"Python: Current File (Integrated Terminal)",
       "type":"python",
       "request":"launch",
       "program":"${file}",
       "console":"integratedTerminal"
    }

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

    1
    2
    3
    4
    5
    6
    7
    {
       "name":"Python: Current File (External Terminal)",
       "type":"python",
       "request":"launch",
       "program":"${file}",
       "console":"externalTerminal"
    }

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


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


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

    首先:运行代码:

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

    第二:停止运行代码:

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

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

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

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


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

    enter image description here


    如果您正在运行代码,并希望通过在终端中运行程序来接受输入。最好的办法是直接在终端上运行,只需右键单击并选择"在终端中运行python文件"即可。
    enter image description here


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

    1
    2
    3
    4
    5
    6
    7
     {
           "name":"Python: Current File",
           "type":"python",
           "request":"launch",
           "program":"${file}",
           "pythonPath":"${workspaceFolder}/FOO/DIR/venv/bin/python3"
        },

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


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

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

    以下工作:

  • 右键单击并选择"在终端中运行python文件"对我有用。
  • CTRL + A然后SHIFT + ENTER(在Windows上)
  • 下面类似于@jdhao所做的事情。

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

  • CTRL + SHIFT + B //运行构建任务
  • 它提供了配置选项
  • 我单击它以获得更多选项。我点击了其他配置
  • 已打开" tasks.json"文件
  • 我使代码看起来像这样:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        {
            // 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}"]

    保存后,文件更改为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        {
            // 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
                    }
                }
            ]
        }
  • 保存文件" tasks.json"后,转到您的python代码并按
    Ctrl + Shift + B
  • 然后点击运行任务->运行Python文件//这是
    你给了。
  • 现在,每次按CTRL + SHIFT + B时??,python文件都会自动运行并显示输出:)


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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {
     "version":"0.2.0",
     "configurations": [
        {
         "name":"Python: Main File",
         "type":"python",
         "request":"launch",
         "program":"${workspaceFolder}/MyMain.py",
         "console":"integratedTerminal",
         "cwd":"${workspaceFolder}"
        }
      ]
    }