来源 | 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 学习交流群,群内仅供学术交流,日常互动,如果是想发推文、广告、砍价小程序的敬请绕道!一定记得备注「交流学习」,我会尽快通过好友申请哦!

????长按识别,添加微信

(添加人数较多,请耐心等待)

????长按识别,关注小詹

(扫码回复 1024 领取程序员大礼包)

推荐阅读:(点击标题即可跳转)

  • 机器学习数学全书,1900 页 PDF 下载

  • 分享整理的 Python 学习路线图

好文和朋友一起看~

花里胡哨?一起来看看 PyCharm 2019.3 增加了哪些新功能吧相关推荐

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

    来源 | PyCharm官网 整理 | 猪哥 校正 | 豌豆花下猫 Python的IDE(Integrated Development Environment 集成开发环境)非常多,如:VS Code ...

  2. iOS培训之iOS 8正式发布:增加多个新功能

    iOS培训之iOS 8正式发布:增加多个新功能 广州传智播客作为华南地区iOS培训的领头羊,对iOS培训课程的研究都是走在互联网发展的潮流最前沿,把最新最好的技术教导给学生.在课程体系外,还有很多有趣 ...

  3. homepod怎么设置为中文_苹果HomePod增加支持更多新功能与Siri语言!

    [PConline资讯]9月13日消息,尽管在凌晨1点的苹果新品发布会上,iPhoneXs系列和iPhoneXR成为了最大的关注点,AppleWatchSeries4次之.不过,苹果的HomePod无 ...

  4. Axure RP 9交互原型设计软件增加了哪些新功能

    Axure RP 9是一款快速原型设计软件,主要用于WEB界面.APP界面.软件界面产品的交互原型设计.是互联网产品经理必备的软件之一,主流科技公司都在用.Axure RP 9是专为UX专业人员和业务 ...

  5. 历经3年的打磨,数据构建及管理平台Dataphin增加了什么新功能?

    简介:自Dataphin产品上线以来,经历3年的迭代打磨,在2021年5月15日发布新版本,主要涉及数据源类型拓展,数据集成.实时研发.数据服务功能升级,运维体验优化等,将满足更多用户场景,提升研发体 ...

  6. Spring Boot 2.2 增加了一个新功能,启动飞起~

    前几天栈长分享了一个好玩的框架:一个比Spring Boot快44倍的Java框架!,是不是感觉 Spring Boot 略慢?今天讲一下 Spring Boot 添加的这个新特性,可以大大提升 Sp ...

  7. 删除隐藏版本信息 版本回退_Visual Studio Code 2019 August版本发布,新功能尝鲜

    最近微软VS团队宣布了其免费开源的编辑器Visual Studio Code的新版本.今天我们就一起来尝鲜其带来的功能变化. 概述 新版本带来了很多变化,其中最主要的亮点功能有: 保留全局搜索和替换的 ...

  8. Safari技术预览版141来啦,增加了哪些新功能?

    2022年3月3日,苹果发布了Safari(苹果浏览器)技术预览版更新,此次更新是针对开发人员的实验版本,并且介绍了有关Safari未来版本的功能. Safari技术预览版最初在2016年3月30日推 ...

  9. 微信成最频繁网络诈骗犯罪工具;库克再谈乔布斯;PyCharm 2019.2.5 发布| 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

最新文章

  1. POJ 2389 Bull Math(大数乘大数)
  2. freemarker 内置函数
  3. 【小白学PyTorch】14.tensorboardX可视化教程
  4. Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
  5. 大数据职业理解_到底什么是大数据,大数据职业的具体工作内容是什么?
  6. (多线程)leetcode1195. 交替打印字符串 最简单解法一个变量搞定
  7. Django - Form和ModelForm
  8. 通过jQuery获取窗口的高度
  9. 好用的jquery.animateNumber.js数字动画插件
  10. 计算机网络安全题库,2020年计算机网络安全与管理信息题库10月更新
  11. 从零开始vue项目使用cesium开发三维地图(一)
  12. huobi API使用经验整理
  13. 日志收集之--将Kafka数据导入elasticsearch
  14. python里美元怎么表示_说说 Python 正则表达式中的插入字符、美元字符
  15. dexpress 流程图_请教devexpress的winform界面开发基本步骤
  16. ARM GICv3 ITS介绍及代码分析
  17. gorm 记录sql日志 每天一个日志文件
  18. Vue 之 移动端 better-scroll 下 click 事件失效问题(PC端却正常click点击)
  19. 怎样用通俗的语言解释REST,以及RESTful?
  20. C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作

热门文章

  1. ELK学习6_Kafka-Logstash-Elasticsearch数据流操作
  2. Homestead 使用总结
  3. Linux的Nginx五:进程|过程
  4. java计算八皇后_八皇后java算法
  5. java的Deque栈_Java使用Deque实现堆栈的方法
  6. 5渲染判断if_React 16 渲染流程
  7. php+redis队列流程
  8. java中的左值右值_利用左值右值实现树状结构
  9. java多个按钮监听,如何改成监听多个按钮啊用e.getsource()
  10. mysql 账户管理_Mysql账户管理_MySQL