PyCharm 2019.3发布增加了新功能一览


Posted in Python onDecember 08, 2019

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

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

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

一、Jupyter

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

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

1.交互式控件

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

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

PyCharm 2019.3发布增加了新功能一览

2.运行时代码补全

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

二、Python

1.文件路径联想

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

PyCharm 2019.3发布增加了新功能一览

2.支持相对import

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

PyCharm 2019.3发布增加了新功能一览

3.Python 3.8:TypedDicts

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

5.自动创建pytest测试

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

三、性能提升

1.更快的索引

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

3.更多的改进今年,我们在所有JetBrains IDE的启动性能方面进行了大量工作。我们的核心平台的启动时间在2019.3版本中得到了进一步改善,我们将继续努力使IDE更快地启动。现在可以在不重启IDE的情况下更改主题。在选择预先安装的主题时或下载新主题后,都可以进行此操作。在PyCharm 2019.3中,各种对于处理事件和忽略文件的改进,使版本控制的状态更新得更快。我们对编辑器的呈现方式进行了一些更改,现在滚动浏览一个长文件变得更加平滑。

四、数据库支持

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

1.支持MongoDB

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

PyCharm 2019.3发布增加了新功能一览

五、IDE功能

1.参数化运行配置

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

PyCharm 2019.3发布增加了新功能一览

2.在选定内容中搜索

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

PyCharm 2019.3发布增加了新功能一览

3.更多的改进

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

六、版本控制

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

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

3.更多的改进拉取远程分支时,通常需要创建一个跟踪该远程分支的本地分支。在PyCharm 2019.3中,'checkout'操作只有一个,可以确保你看到远程分支的当前状态,但是没有丢失任何本地提交的风险。PyCharm始终能够 push 你当前已拉取的分支。有时,你可能要推送另一个分支,从现在开始,不再需要首先将其检出。

七、Web开发

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

1.CDN中的CSS类

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

PyCharm 2019.3发布增加了新功能一览

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

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

PyCharm 2019.3发布增加了新功能一览

3.更多的改进设置CSS样式,以强制使用单引号或双引号。无论你在CSS中使用单引号还是双引号,PyCharm现在都可以帮助你使引号保持一致。在 Other 选项卡中的 Settings | Editor | Code Style | Style Sheets | CSS 中进行配置。你是否使用未为其定义propTypes的React组件?PyCharm现在能够推断 props,并且将为你提供未定义propTypes的组件的代码补全。

总结

以上所述是小编给大家介绍PyCharm 2019.3发布增加了新功能一览,希望对大家有所帮助!

Python 相关文章推荐
Python对象的深拷贝和浅拷贝详解
Aug 25 Python
详解Python实现按任意键继续/退出的功能
Aug 19 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
Django实现发送邮件功能
Jul 18 Python
selenium中get_cookies()和add_cookie()的用法详解
Jan 06 Python
Python递归实现打印多重列表代码
Feb 27 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
Django REST 异常处理详解
Jul 15 Python
Python 中的 copy()和deepcopy()
Nov 07 Python
使用tqdm显示Python代码执行进度功能
Dec 08 #Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 #Python
Python中six模块基础用法
Dec 08 #Python
python实现布隆过滤器及原理解析
Dec 08 #Python
python实现图片二值化及灰度处理方式
Dec 07 #Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 #Python
python中利用matplotlib读取灰度图的例子
Dec 07 #Python
You might like
PHP与Web页面交互操作实例分析
2020/06/02 PHP
event.srcElement+表格应用
2006/08/29 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
jquery中动态效果小结
2010/12/16 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
微信小程序单选框自定义赋值
2020/05/26 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
java判断三位数的实例讲解
2019/06/10 Python
python多线程同步之文件读写控制
2021/02/25 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python 代码调试技巧示例代码
2020/08/11 Python
企业管理部经理岗位职责
2013/12/24 职场文书
我爱我校演讲稿
2014/05/21 职场文书
大学生找工作求职信
2014/07/09 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL