百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

在VS Code中进行Python开发(vs code pycharm)

off999 2024-10-23 12:42 12 浏览 0 评论

目录表

  • 安装和配置Visual Studio Code用于Python开发

    o 用于Python开发的扩展

    o Visual StudioCode配置文件

  • 启动一个新的Python程序

    o输入Python代码

    o运行Python代码

    o Python Linting支持

  • 编辑现有Python项目

  • 测试支持

  • 调试支持

  • git集成

  • 结论

程序员可以使用的最酷的代码编辑器之一——Visual Studio Code[1]——是一个开源的、可扩展的、轻量级的编辑器,它可以在所有平台上使用。正是这些特性使得Microsoft[2]的Visual Studio Code非常受欢迎,并且是一个很好的Python开发平台。

在本文中,你将了解在Visual Studio Code中进行Python开发,包括怎样:

  • 安装Visual Studio Code

  • 发现并安装使Python开发变得容易的扩展

  • 编写一个简单的Python应用程序

  • 学习如何在VS Code中运行和调试现有Python程序

  • 将Visual Studio Code连接到Git和GitHub,与世界分享你的代码

我们假设你熟悉Python开发,并且已经在系统上安装了某种形式的Python (Python 2.7、Python 3.6/3.7、Anaconda或其他)。确保你的Ubuntu和Windows的屏幕截图和演示程序都可用。由于Visual Studio Code可以运行在所有主要平台上,你可能会看到略有不同的UI元素,可能需要修改某些命令。

安装并配置Visual Studio Code用于Python开发

在任何平台上安装Visual Studio Code都是非常容易[3]的。Windows[4]、Mac[5]和Linux[6]都有完整的安装教程,编辑器每月更新一次,提供新特性和bug修复。你可以在Visual Studio Code网站[7]上找到所有信息:

你可能会疑惑,Visual Studio Code(简称VS Code)除了与其基于windows的大型同名软件Visual Studio[8]名字相同之外,几乎没有其他相同之处。

Visual Studio Code除具有对多种语言的内置支持之外,还具有对其他语言丰富的生态系统支持的扩展模型。VS Code每月更新一次,你可以在Microsoft Python博客[9]上了解最新情况。微软甚至公开VS Code GitHub repo[10]源来允许任何人克隆和贡献代码。(Cue the PR flood.)

VS Code用户界面[11]有很好的文档说明,所以我就不在这里赘述

用于Python开发的扩展

如上所述,VS Code通过良好文档化的扩展模型[12]支持多种编程语言的开发。Python扩展[13]允许我们可以在Visual Studio Code中进行Python开发,它具有以下特性:

  • 支持Python 3.4及以上版本,以及Python 2.7

  • 使用IntelliSense[14](智能感知)补全代码

  • Linting(代码检查)[15]

  • 调试支持[16]

  • 代码片段[17]

  • 单元测试支持[18]

  • conda和虚拟环境[19]的自动使用

  • 在Jupyter环境[20]和Jupyter笔记本[21]中进行代码编辑

Visual Studio Code扩展不仅包括编程语言功能:

  • Keymaps[22]让已经熟悉Atom、Sublime Text[23]、Emacs[24]、Vim[25]、PyCharm或其他环境的用户感到宾至如归。

  • Themes[26]允许自定义UI,无论你喜欢在浅色、深色或其他更丰富多彩的环境中编写代码。

  • Language packs[27]提供本地化体验。

下面是一些我发现的有用的扩展和设置:

  • GitLens[28]在你的编辑窗口中提供了大量有用的Git特性,包括blame annotations 和repository exploration特性。

  • 自动保存是很容易开启的,你可以从菜单选择File,Auto Save来开启。默认延迟时间是1000毫秒,这也是可配置[29]的。

  • Settings Sync[30] 允许你使用GitHub同步不同安装环境的VS Code设置。如果你在不同的机器上工作,这有助于保持跨机器环境的一致性。

  • Docker[31]让你可以快速、轻松地使用Docker进行工作(它帮助作者生成了Dockerfile和Docker –compose.yml文件),打包和部署项目,甚至为你的项目生成合适的Docker文件。

当然,在使用VS Code时,你会发现其他有用的扩展。请在评论区[32]分享你的发现和设置!

你可以通过单击活动栏上的Extensions图标来发现和安装新的扩展和主题。你可以使用关键字搜索扩展,以多种方式对结果进行排序,并快速轻松地安装扩展。对本文来说,通过在活动栏的Extensions项中输入python并点击Install来安装Python扩展:

你可以以相同的方式查找并安装上面提到的任何扩展。

Visual Studio Code配置文件

值得一提的是,Visual Studio Code可以通过user and workspace settings[33](用户和工作区设置)进行高度配置。

用户设置是跨所有Visual Studio Code实例的全局设置,而工作区设置是特定文件夹或项目工作区的本地设置。工作区设置为VS Code提供了极大的灵活性,在本文中我将始终调用工作区设置。工作区设置以.json文件的形式存储在名为.vscode的项目工作区本地文件夹中。

开始一个新的Python程序

让我们从一个新的Python程序开始探索Visual Studio Code中的Python开发。在VS Code中,按下∧Ctrl+N打开一个新文件。(也可以从菜单中选择File, New来打开)

注意:Visual Studio Code UI提供了命令面板[34],你可以在其中搜索和执行任何命令,而不需要离开键盘。使用∧Ctrl+Shift+P打开命令面板,输入File: New File,然后按Enter键打开一个新文件。

无论你如何打开一个新文件的,你都会看到一个VS Code窗口,它看起来类似于下面的图:

打开新文件之后,你就可以输入代码了。

输入Python代码

对于我们的测试代码,让我们快速编写Sieve of Eratosthenes[35] 项目(它查找所有小于给定数字的素数)。在刚刚打开的新选项卡中输入以下代码:

你会看到类似于这样的结果:

等等,发生了什么?为什么Visual Studio Code没有进行任何关键字高亮显示、自动格式化或其他有用的事情呢?它做了什么?

答案是,现在VS Code还不知道它处理的是哪种文件。这个缓冲区名为Untitled-1,在窗口的右下角查看,你会看到Plain Text 字样。

要激活Python扩展名,将文件(通过从菜单中选择File、Save、从命令面板中输入File: Save File,或者只使用∧Ctrl+S)保存为sieve.py。VS Code将看到.py扩展名,并正确地将文件解释为Python代码。现在你的窗口看起来应该是这样的:

这就好多了!VS Code自动将文件重新格式化为Python,你可以通过检查左下角的语言模式来验证这一点。

如果你安装了多个Python版本 (如Python 2.7、Python 3或者Anaconda)。你可以通过单击语言模式指示器或从命令面板中选择Python: Select Interpreter,来更改VS Code默认使用哪种Python解释器。VS Code默认支持使用pep8进行格式化[36],你也可以选择black或yapf。

现在我们来添加Sieve代码的其余部分。要查看IntelliSense是否在工作,直接输入这段代码,不能剪切和粘贴,你会看到如下所示:

下面是一个基本的Sieve of Eratosthenes的完整代码:

当你输入这段代码时,VS Code会自动缩进for和if语句下面的行,添加结束括号,并为你提供建议。这就是IntelliSense为你带来的力量。

运行Python代码

现在代码已经完成,你可以运行它了。不需要离开编辑器就可以做到这一点:Visual Studio Code可以直接在编辑器中运行这个程序。保存文件(使用∧Ctrl+S),然后在编辑器窗口右键单击,选择Run Python file in Terminal :

你应该会看到终端窗格出现在窗口的底部,并显示代码输出。

Python Linting支持

你在输入时可能会看到一个弹出窗口,提示无法使用linting。你可以从该弹出窗口中快速安装linting支持,它默认为PyLint。VS Code还支持其他linter。以下是撰写本文时可用的完整列表:

  • pylint

  • flake8

  • mypy

  • pydocstyle

  • pep8

  • prospector

  • pyllama

  • bandit

Python linting页面[37]有关于如何设置每个linter的完整详细信息。

注意:linter的选择是一个项目工作区设置,不是全局用户设置。

编辑现有Python项目

在Sieve of Eratosthenes示例中,你创建了一个Python文件。作为一个例子这很不错,但是很多时候,当你需要创建大型项目,并在很长的一段时间内要在它上面进行开发。一个典型的新项目工作流程可能是这样的:

  • 创建一个文件夹来保存项目(其中可能包括一个新的GitHub项目)

  • 切换到新文件夹

  • 使用命令code file .py创建初始Python代码

在Python项目上使用Visual Studio Code (而不是单个Python文件)可以提供更多的功能,可以让VS Code发挥它的特长。我们来看看它是如何处理一个大型项目的。

在前几年的后期,当我还是一个很年轻的程序员时,我编写了一个计算器程序,它使用Edsger Dijkstra的调度场算法(shunting yard algorithm)[38]适配来解析用中缀表示法编写的等式。

为了演示Visual Studio Code以项目为中心的特性,我开始在Python中将调度场算法(shunting yard algorithm)重新创建为一个Python等式计算库[39]。要继续后续操作,请随意将它从repo克隆到本地。

在本地创建文件夹后,你可以在VS Code中快速打开整个文件夹。我喜欢的方法(如上所述)修改如下,因为我已经创建了文件夹和基本文件:

VS Code理解并将使用以这种方式打开时它读取到的任何virtualenv[40]、pipenv[41]或conda[42]环境。你甚至不需要一开始就启动虚拟环境!你甚至可以从用户界面打开文件夹,从菜单中使用 File,Open Folder 打开文件夹,或使用快捷键∧Ctrl+K、∧Ctrl+O从键盘打开文件夹,或者从命令面板使用File: Open Folder打开。

对于我的等式计算库项目,以下是我将看到的:

当Visual Studio Code打开文件夹时,它还会打开上次打开的文件。(这是可配置的)。你可以打开、编辑、运行和调试任何列出的文件。左侧活动栏中的Explorer视图提供文件夹中所有文件的视图,并显示当前选项卡集中有多少未保存的文件。

测试支持

VS Code可以自动识别在unittest框架、pytest或Nose框架中编写的现有Python测试[43](如果这些框架已经安装在当前环境中)。我在unittest中为等式计算库编写了一个单元测试[44],你可以在本例中使用它。

要运行现有的单元测试,可以在项目中的任何Python文件中右键单击并选择Run Current Unit Test File。系统会提示你指定测试框架、在项目中搜索测试的位置以及测试使用的文件名模式。

所有这些都会作为工作区设置保存为本地.vscode/settings.json文件,你也可以在此处进行修改。对于这个等式项目,你选择unittest、当前文件夹和*_test.py模式就好。

一旦设置好测试框架并且编辑器发现了测试,你可以在状态栏上单击Run Tests 并从命令面板中选择一个选项来运行所有的测试:

你甚至可以通过在VS Code中打开测试文件,单击状态栏上的Run Tests,并选择Run Unit Test Method…和要运行的特定测试来运行单个测试。这使得定位单个的测试失败和重新运行失败的测试变得非常简单,也是一个很棒的节省时间的方法!测试结果显示在Python Test Log下的Output 窗口中。

调试支持

虽然VS Code是一个代码编辑器,但是在VS Code中直接调试Python[45]也是可以的。VS Code提供了许多你所希望的好的代码调试器具有的特性,包括:

  • 自动变量跟踪

  • 监视表达式

  • 断点

  • 调用栈检查

你可以在活动栏的Debug 视图中看到它们:

调试器可以控制在内置终端或外部终端实例中运行Python应用程序。它也可以附加到已经运行的Python实例上,甚至可以调试Django[46]和Flask[47]应用程序。

在单个Python文件中调试代码与使用F5启动调试器一样简单。使用F10和F11可以分别跳出和进入函数,使用Shift+F5退出调试器。可以使用F9设置断点,也可以使用鼠标在编辑器窗口的左侧空白处单击来设置。

在开始调试更复杂的项目(包括Django或Flask应用程序)之前,你需要先进行设置,然后选择调试配置。设置调试配置相对简单。在Debug 视图中,选择Configuration下拉菜单,然后点击Add Configuration,并选择Python

:

Visual Studio Code将在当前文件夹下创建一个名为 .vscode/launch.json的调试配置文件,它允许你设置特定的Python配置[48]以及调试特定应用程序[49](如Django和Flask)的设置。

你甚至可以执行远程调试,以及调试Jinja和Django模板。关闭编辑器中的launch.json文件,然后从Configuration 下拉菜单中为你的应用程序选择合适的配置。

Git集成

VS Code内置了对源代码控制管理[50]的支持,并附带了对Git和GitHub的开箱即用支持。你可以在VS Code中安装对其他SCM的支持,并一起使用它们。可以从Source Control 视图中访问源代码管理:

如果你的项目文件夹包含一个.git文件夹,VS Code会自动打开Git/GitHub[51]的全部功能。以下是一些你可以完成的任务:

  • 将文件提交[52]到Git

  • 从远程repos[53]推送更改和提取更改

  • 检查现有的或创建新的分支和标记[54]

  • 查看并解决合并冲突[55]

  • 查看不同[56]

所有这些功能都可以直接从VS Code用户界面中调用:

VS Code还能识别在编辑器之外所做的更改,并正确处理。

在VS Code中提交你最近的更改是一个相当简单的过程。在Source Control 视图中,修改后的文件显示为M标记,而未跟踪的新文件显示为U 标记。将鼠标悬停在文件上,然后单击加号(+),就可以看到你的更改。在视图顶部添加提交消息,然后单击复选框提交更改:

你还可以在VS Code中向GitHub推送本地提交。从“Source Control 视图”菜单中选择“Sync(同步)”,或者单击分支指示器旁边的状态栏[57]上的“Synchronize Changes (同步更改)”。

结论

Visual Studio Code是最酷的通用编辑器之一,也是Python开发的最佳候选。在本文中,你了解到:

  • 如何在任何平台上安装VS Code

  • 如何查找和安装扩展来支持Python特有的特性

  • VS Code如何让编写一个简单的Python应用程序变得更容易

  • 如何在VS Code中运行和调试现有Python程序

  • 如何在VS Code中使用Git和GitHub存储库

Visual Studio Code已经成为我开发Python和处理其他任务的默认编辑器,我希望你能给它一个机会,让它也成为你的编辑器。

如果你有任何问题或意见,请在下面的评论区留言。Visual Studio Code网站[58]上还有很多我们这里没有介绍到的信息。

作者在此感谢微软Visual Studio Code团队的Dan Taylor[59]为本文所花费的时间和提供的宝贵信息。

相关链接:

[1]——https://code.visualstudio.com/docs

[2]——https://azure.com/python

[3]——https://code.visualstudio.com/docs/setup/setup-overview

[4]——https://code.visualstudio.com/docs/setup/windows

[5]——https://code.visualstudio.com/docs/setup/mac

[6]——https://code.visualstudio.com/docs/setup/linux

(字数限制,其他链接未列出........)

英文原文:https://realpython.com/python-development-visual-studio-code/
译者:忧郁的红秋裤

相关推荐

软件测试|Python requests库的安装和使用指南

简介requests库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用request...

python3.8的数据可视化pyecharts库安装和经典作图,值得收藏

1.Deepin-linux下的python3.8安装pyecharts库(V1.0版本)1.1去github官网下载:https://github.com/pyecharts/pyecharts1...

我在安装Python库的时候一直出这个错误,尝试很多方法,怎么破?

大家好,我是皮皮。一、前言前几天在Python星耀群【我喜欢站在一号公路上】问了一个Python库安装的问题,一起来看看吧。下图是他的一个报错截图:二、实现过程这里【对不起果丹皮】提示到上图报错上面说...

自动化测试学习:使用python库Paramiko实现远程服务器上传和下载

前言测试过程中经常会遇到需要将本地的文件上传到远程服务器上,或者需要将服务器上的文件拉到本地进行操作,以前安静经常会用到xftp工具。今天安静介绍一种python库Paramiko,可以帮助我们通过代...

Python 虚拟环境管理库 - poetry(python虚拟环境virtualenv)

简介Poetry是Python中的依赖管理和打包工具,它允许你声明项目所依赖的库,并为你管理它们。相比于Pipev,我觉得poetry更加清爽,显示更友好一些,虽然它的打包发布我们一般不使...

pycharm(pip)安装 python 第三方库,时下载速度太慢咋办?

由于pip默认的官方软件源服务器在国外,所以速度慢,导致下载时间长,甚至下载会频繁中断,重试次数过多时会被拒绝。解决办法1:更换国内的pip软件源即可。pip指定软件源安装命令格式:pipinsta...

【Python第三方库安装】介绍8种情况,这里最全看这里就够了!

**本图文作品主要解决CMD或pycharm终端下载安装第三方库可能出错的问题**本作品介绍了8种安装方法,这里最全的python第三方库安装教程,简单易上手,满满干货!希望大家能愉快地写代码,而不要...

python关于if语句的运用(python中如何用if语句)

感觉自己用的最笨的方式来解这道题...

Python核心技术——循环和迭代(上)

这次,我们先来看看处理查找最大的数字问题上,普通人思维和工程师思维有什么不一样。例如:lst=[3,6,10,5,7,9,12]在lst列表中寻找最大的数字,你可能一眼能看出来,最大值为...

力扣刷题技巧篇|程序员萌新如何高效刷题

很多新手初刷力扣时,可能看过很多攻略,类似于按照类型来刷数组-链表-哈希表-字符串-栈与队列-树-回溯-贪心-动态规划-图论-高级数据结构之类的。可转念一想,即...

“千万别学我!从月薪3000到3万,我靠这3个笨方法逆袭”

3年前,我还在为房租而忧心忡忡,那时月薪仅有3000元;如今,我的月收入3万!很多人都问我是如何做到的,其实关键就在于3个步骤。今天我毫无保留地分享给大家,哪怕你现在工资低、缺乏资源,照着做也能够实...

【独家攻略】Anaconda秒建PyTorch虚拟环境,告别踩坑,小白必看

目录一.Pytorch虚拟环境简介二.CUDA简介三.Conda配置Pytorch环境conda安装Pytorch环境conda下载安装pytorch包测试四.NVIDIA驱动安装五.conda指令一...

入门扫盲:9本自学Python PDF书籍,让你避免踩坑,轻松变大神!

工作后在学习Python这条路上,踩过很多坑。今天给大家推荐9本自学Python,让大家避免踩坑。入门扫盲:让你不会从一开始就从入门到放弃1《看漫画学Python:有趣、有料、好玩、好用》2《Pyth...

整蛊大法传授于你,不要说是我告诉你的

大家好,我是白云。给大家整理一些恶搞代码,谨慎使用!小心没朋友。1.电脑死机打开无数个计算器,直到死机setwsh=createobject("wscript.shell")do...

python 自学“笨办法”7-9章(笨办法学python3视频)

笨办法这本书,只强调一点,就是不断敲代码,从中增加肌肉记忆,并且理解和记住各种方法。第7章;是更多的打印,没错就是更多的打印第八章;打印,打印,这次的内容是fomat的使用与否f“{}{}”相同第九...

取消回复欢迎 发表评论: