查看原文
其他

PyCharm 2019.3 版发布,增加了哪些新功能呢?

猪哥&猫哥 Python猫 2020-09-13

👆 Python猫” ,一个值得加星标的公众号

花下猫语:我有挺长时间没有翻译文章了……原因是:蓝灯灰暗,墙梯难登,诸事繁多,唉喵。今天分享的译文,我参与了校对修改,勉算是完成了一道作业吧。

剧照 | 《鹤唳华亭》

来源 | PyCharm官网
整理 | 猪哥
校正 | 豌豆花下猫

Python的IDE(Integrated Development Environment 集成开发环境)非常多,如:VS Code、Sublime、NotePad、Python自带编辑器IDLE、JuPyter、Eclipse + PyDev等等,但是对于项目开发、管理、部署等稍微大一点的项目,猫哥觉得还是PyCharm最好用!

2019年12月2日,PyCharm迎来了2019.3版本,这也许会是2019年的最后一个大版本,那这个版本增加了哪些新功能呢?我们一起来看看吧!

一、Jupyter

PyCharm 在 2019年里连续发布了2019.12019.22019.3三个大版本,对Jupyter进行改进,这让很多使用者感到欣慰,毕竟目前数据分析比较火,使用Jupyter Notebooks的开发者也越来越多。

注意此功能仅专业版才有!

1.交互式控件

为了提供更多的交互性,Jupyter notebooks支持称为“交互式控件”的功能。这些控件支持将静态笔记本转变为交互式的面板,从而使其他用户在查看你的笔记本时,可以自定义视图。

在此次更新中,PyCharm添加了对交互式控件的支持。这意味着窗口小部件将随着输出一起呈现,并且可以像处理本机Jupyter notebooks一样用于操作笔记。

2.运行时代码补全

PyCharm 的优势之一是借助先进的静态代码分析算法,可以实现智能编码提示。但是,对于动态语言(例如Python)而言,静态代码分析还不足够。这就是为什么在此次更新中,我们利用Jupyter本身提供的运行时信息来对其进行扩展。在某些情况下,例如在字典索引或深层嵌套的表达式中,IDE无法使用静态分析来找出其类型,而此次更新将会使代码补全变得更为智能。

3.在输出面板上放大和缩小

此次更新支持将预览的字体大小设置为与编辑器一致,或者在设置中进行自定义。编辑器提供了“使用Ctrl +鼠标滚轮更改字体大小(缩放)“选项。启用该选项后,你可以在按住Ctrl的同时,使用鼠标滚轮来放大或缩小预览。

二、Python

1.文件路径联想

害怕在写文件名时打错字?特别是有较长文件名时,例如open('data/ survey_data_28112019_exported.csv') ?现在,你可以在Python代码编辑器或控制台中获得文件路径建议。我们扩展了上下文感知的代码补全功能,因此上下文中与文件相关的字符串字面量可以为可能的文件路径提供建议。

2.支持相对import

与绝对import相比,你更喜欢相对import吗?PyCharm现在支持在这些风格之间自动地转换。如果你已经使用相对导入方式导入了某个程序包,那么所有新的从该程序包的导入也将自动创建为相对导入。

3.Python 3.8:TypedDicts

PyCharm 通过对TypedDict的支持,避免字典的错误赋值。为你的键值对结构提供更精确的展示,我们的代码编辑器能帮助你找到恰当的使用方法。

4.Python 3.8:字面量类型注解

你是否有采用特定字符串字面量的方法,例如带文件模式“open”方法?你可以使用Python 3.8的Literal类型注解来检查类型,还可以检查特定的值。现在,当你调用的函数出现不支持的值时,PyCharm会出现告警。

5.自动创建pytest测试

我们升级了用于自动创建测试的工具,现在也支持pytest。有了这个,PyCharm允许你通过在方法声明的菜单中,仅仅单击“Go To | Test”选项,就自动创建pytest测试。

6.调试器:集合的大小信息

调试时的跟踪信息应尽可能清晰与详细。这就是我们调整变量视图的原因,现在它可以显示组织得更好且更全面的数据。有了这个,就可以期待新的排序、科学数组的更好的视觉表示、集合长度的显示以及重复细节的去除。

三、性能提升

1.更快的索引

PyCharm 先进的代码内视可以帮助你更快地完成工作。为此,我们需要索引你的代码和所有导入的包。当你使用已编译扩展的软件包时(如许多数据科学软件包),在对其进行索引之前,我们需要生成描述Python接口的Python骨架(存根文件)。我们对此过程进行了改进,预计整个索引过程至少快25%。当然,如果你在多个virtualenv中使用同一程序包,我们将重用已经创建的索引。

2.冻结次数减少,并改进了冻结报告

不幸的是,有时候PyCharm的UI会冻结一段时间,然后才让你重新开始处理代码。我们意识到这是非常令人不快的事情,因此我们正在努力消除这些问题。我们已经修复了许多可能导致UI冻结的问题,现在,你可以直接从IDE中上报UI冻结,这使我们有可能调查其冻结的原因,并确保它不再发生。提前感谢你帮助我们摆脱PyCharm中的UI冻结问题!

3.更多的改进

  1. 今年,我们在所有JetBrains IDE的启动性能方面进行了大量工作。

    我们的核心平台的启动时间在2019.3版本中得到了进一步改善,我们将继续努力使IDE更快地启动。

  2. 现在可以在不重启IDE的情况下更改主题。

    在选择预先安装的主题时或下载新主题后,都可以进行此操作。

  3. 在PyCharm 2019.3中,各种对于处理事件和忽略文件的改进,使版本控制的状态更新得更快。

  4. 我们对编辑器的呈现方式进行了一些更改,现在滚动浏览一个长文件变得更加平滑。

四、数据库支持

注意此功能仅专业版才有!

1.支持MongoDB

你要在MongoDB上构建应用程序吗?那么你将很高兴地得知现在可以在PyCharm中查看MongoDB集合。通过从数据库工具窗口(视图|工具窗口|数据库)添加数据源来连接数据库。PyCharm Professional Edition附带了 JetBrains DataGrip(JetBrains制造的专业SQL IDE)的所有数据库功能。

五、IDE功能

1.参数化运行配置

在创建命令行应用程序时,通常可以方便地快速更改参数。尽管你可以进入“编辑配置”来进行更改,但是现在有一种更好的方法:使用新的运行配置宏(变量),每次启动应用程序时,PyCharm都会提示你输入值。

2.在选定内容中搜索

是否想知道在文件的某部分中,某些文本出现的频率?现在,在你选定的内容中,find动作将自动查找。想要到处搜索?再次按Ctrl-F(在macOS上为Cmd-F),会将搜索范围扩展到文件的其余部分。

3.更多的改进

如果应用程序的一部分是用JavaScript编写的,则很可能你在某处使用了Handlebars模板。如果安装了 Handlebars插件,则现在可以在任何Python字符串中启用Handlebars代码智能。只需在字符串中按Alt-Enter,选择“插入语言或参考”,然后键入“Handlebars”。

六、版本控制

1.与当前分支的改进比较

你拥有的分支越多,就越难追踪它们之间的差异。在新版本的PyCharm中,分支比较功能看起来更好,并且可以使你快速了解哪些提交使两个分支之间产生了差异。

2.改进了克隆代码仓的UI

无论你使用哪种代码仓,当你要拉取新项目时,我们现在都在同一个地方开始。

3.更多的改进

  1. 拉取远程分支时,通常需要创建一个跟踪该远程分支的本地分支。

    在PyCharm 2019.3中,’checkout’操作只有一个,可以确保你看到远程分支的当前状态,但是没有丢失任何本地提交的风险。

  2. PyCharm始终能够 push 你当前已拉取的分支。

    有时,你可能要推送另一个分支,从现在开始,不再需要首先将其检出。

七、Web开发

注意此功能仅专业版才有!

1.CDN中的CSS类

你是否要使用CDN中的样式表?现在,我们可以下载该样式表的一个版本,专门用于代码补全。

2.查看调试JavaScript时方法返回的值

就像在Python调试器中一样,JavaScript调试器现在可以向你显示你正在调用的方法的返回值。要查看返回值,请单击调试器上的齿轮图标,然后启用“显示返回值”。

3.更多的改进

  1. 设置CSS样式,以强制使用单引号或双引号。

  2. 无论你在CSS中使用单引号还是双引号,PyCharm现在都可以帮助你使引号保持一致。

    在 Other 选项卡中的 Settings | Editor | Code Style | Style Sheets | CSS 中进行配置。

  3. 你是否使用未为其定义propTypes的React组件?

    PyCharm现在能够推断 props,并且将为你提供未定义propTypes的组件的代码补全。

优质文章,推荐阅读:

别让自己“墙”了自己

Python 设计和历史的 27 个问题

提升 Python 性能 - Numba 与 Cython

大名鼎鼎的Requests库用了什么编码风格?

感谢创作者的好文

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存