装上这 14 个插件后,PyCharm 真的是无敌的存在


Posted in Python onJanuary 11, 2021

1. Key Promoter X

如果让我给新手推荐一个 PyCharm 必装插件,那一定是 Key Promoter X

它就相当于一个快捷键管理大师,它时刻地在:

督促你,当下你的这个操作,应该使用哪个快捷操作来提高效率?

提醒你,当下你的这个操作,还没有设置快捷键,赶紧设置一个?

有了 Key Promoter X,你很快就能熟练地掌握快捷键,替代鼠标指日可待。

比如我使用鼠标点开 Find in Path,它就会在右下角弹窗提示你该用哪个快捷键。

装上这 14 个插件后,PyCharm 真的是无敌的存在

2. Vim in PyCharm

在大多数场景之下,使用鼠标的效率和精准度,是远不如键盘快捷键的(前提是你已经相当熟练的掌握了快捷键),这个你得承认吧。

Vi 可以满足你对文本操作的所有需求,比可视化界面更加效率,更加 geek。如果你和我一样,是忠实的 vim 粉。在安装完 Pycharm 完后,肯定会第一时间将 ideaVim 这个插件也装上,它可以让我们在 Pycharm 中 使用 vim 来编辑代码。

安装方法如下,安装完后需要重启 Pycharm 生效。

装上这 14 个插件后,PyCharm 真的是无敌的存在

3. Markdown

富文本排版文档是一件非常痛苦的事情 ,对于程序员写文档,最佳的推荐是使用 Markdown ,我所有的博客日记都是使用 Markdown 写出来的。

从 Github下载的代码一般也都会带有README.md文件,该文件是一个Markdown格式的文件。

PyCharm是默认没有安装Markdown插件的,所以不能按照Markdown格式显示文本,显示的是原始文本。

因此,如果要在 PyCharm 中阅读 Markdown 文档,可以装一下 Markdown support 这个插件。

安装的方法有两种:

1、第一种,最方便的,就是你打开一个 MD 的文档,PyCharm 就会提示你安装它。

2、从插件商店中搜索安装。

装上这 14 个插件后,PyCharm 真的是无敌的存在

效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOEVbklj-1609131420961)(http://image.iswbm.com/20200827130420.png)]

4. Jupyter Notebook

使用 Jupyter 之前 ,先要安装它

$ pip install jupyter

然后按照下图指示新建一个 Notebook ,就可以开始运作了。

装上这 14 个插件后,PyCharm 真的是无敌的存在

这个界面感觉和 Jupyter 的风格不太符

装上这 14 个插件后,PyCharm 真的是无敌的存在

但是使用上是没有什么区别的,记住三个快捷键就好(下面指的是 Mac 上的,Windows 上的有所不同)

  • Ctrl+Enter:运行该 cell
  • Option + shift + Enter:调试该 cell
  • Shift + Enter:插入一个新的 cell

装上这 14 个插件后,PyCharm 真的是无敌的存在

只要你安装了 Jupyter 后,你使用 Python Console 也会自动变成 Jupyter 的模式

装上这 14 个插件后,PyCharm 真的是无敌的存在

5. Regex Tester

Regex Tester是PyCharm的第三方插件,可以测试正则表达式。

按照下图入口,安装 Regex Tester 插件:

装上这 14 个插件后,PyCharm 真的是无敌的存在

安装完成后,无需重启 PyCharm ,点击 PyCharm 界面左下方的小矩形按钮,就能找到 Regex Tester 选项。

装上这 14 个插件后,PyCharm 真的是无敌的存在

点击进入后,就出现了如下界面。我随手写了个匹配手机号码的正则(不一定准确),匹配到的字符串背景会被高亮。右上方还有一些选项如大小写敏感,多行模式等,可根据需要进行选择。Regex Tester 还提供了Split,Replace功能等。

使用效果如下:

装上这 14 个插件后,PyCharm 真的是无敌的存在

6. Use Bash in Windows

(注:这个是自带工具,不是插件)
在 Windows 上的 cmd 命令和 Linux 命令有不少的差异,比如要列出当前目录下的所有文件,Windows 上是用 dir ,而 Linux 上则是用 ls -l

对于像我这样熟悉 Linux 的开发者来说,Windows 的 那些 CMD 命令带来的糟糕体验是无法忍受的。

装上这 14 个插件后,PyCharm 真的是无敌的存在

在弹出的 Bash 窗口,你可以敲入你想使用的 Linux 命令,是不是舒服多了。

装上这 14 个插件后,PyCharm 真的是无敌的存在

7. Auto PEP8

pep8 是Python 语言的一个代码编写规范。如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具 - autopep8

首先在全局环境中(不要在虚拟环境中安装),安装一下这个工具。

$ sudo pip install autopep8

然后在 PyCharm 导入这个工具,具体设置如下图

Name: AutoPep8
Description: autopep8 your code
Program: autopep8
Arguments: --in-place --aggressive --aggressive $FilePath$
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*

装上这 14 个插件后,PyCharm 真的是无敌的存在

我随意写了一段不符合 pep8 规范的代码。

装上这 14 个插件后,PyCharm 真的是无敌的存在

点击右键,选择 External Tools -> AutoPep8

装上这 14 个插件后,PyCharm 真的是无敌的存在

看一下效果,还是挺明显的。

装上这 14 个插件后,PyCharm 真的是无敌的存在

你可能会说,Pycharm 本身就自带这个功能了呀,快捷键 Command+Option+L ,就可以实现一键pep8了。你可以对比一下,Pycharm 自带的代码 pep8 化功能 并没有像这个autopep8 来得彻底。 我相信你最终的选择肯定是后者。

8. Test RESTful Web Service

PyCharm 的 Test RESTful Web Service工具提供了RESTful接口测试界面,如下图所示,提供了get、post,put等http方法,其中的Request子界面headers,Parameters,Body等功能,Response子界面用于显示返回值,Response Headers用于显示返回的消息头。

为了演示,我先使用 Flask 写一个 HTTP 接口

from flask import Flask, request

app = Flask(__name__)


@app.route('/hello')
def index():
 name = request.args.get('name')
 return '你好,' + name

if __name__ == '__main__':
 app.run()

并运行它开启服务,访问地址是:http://127.0.0.1:5000/

装上这 14 个插件后,PyCharm 真的是无敌的存在

通过下图方式打开 Test RESTful Web Service

装上这 14 个插件后,PyCharm 真的是无敌的存在

会出现如下界面,在红框处填写如下信息

装上这 14 个插件后,PyCharm 真的是无敌的存在

然后点击最左边的运行按钮,即可向服务器发送 http 请求。

装上这 14 个插件后,PyCharm 真的是无敌的存在

9. Execute Selection in Console

(注:这个是自带工具,不是插件)

当你想写一段简单的测试代码时,或许你会这样子

使用 Python Shell 直接写。缺点是没有自动补全。在 PyCharm 中新开一个文件。缺点是要新创建一个文件,完了后还要删除。

今天再给大家介绍一种新的方法,可以完全避开上面两种方式的缺点。

那就是 Execute Selection in Console,可以说是 Run in Anywhere.

只要在当前文件中,写好代码,然后光标选择后,右键点击 Execute Selection in Python Console 或者 使用快捷键 option + shift + E (windows 上是 alt + shift + E)。

装上这 14 个插件后,PyCharm 真的是无敌的存在

接着 PyCharm 就会弹出一个 Python Console 窗口,然后运行你所选择的代码。

装上这 14 个插件后,PyCharm 真的是无敌的存在

可以发现其中的一个亮点,就是使用这种方法,PyCharm 会自动帮我们处理好缩进(我们选择时,前面有缩进,可是在执行时,会自动去掉前面多余的缩进)

10. CodeGlance

如果你曾使用过 Sublime Text,切换到其他代码编辑器,或多或少会有些不习惯,因为很少有编辑器会像 Sublime 那样自带一个预览功能的滚动条。

在 PyCharm 中,就没有解决不了的问题,如果有,那么就装个插件。

要想在 PyCharm 中使用这个预览滚动条,只要装上 CodeGlance 这个插件。使用效果如下

装上这 14 个插件后,PyCharm 真的是无敌的存在

11. Chinese Plugin

经常听到很多初学者抱怨说,PyCharm 怎么是全英文的?学起来好难啊。

在以前,我会跟他们说,学习编程语言,英文是一项非常重要的能力,千万不能惧怕它,逃避它,而要是去学习它,适应它,如果连个 IDE 都适应不了,那就别学编程了。

而现在,JetBrains 官方自己出了汉化插件,名字就叫: chinese,在插件市场里一搜,排名第一便是它,下载量已经 40 万,对比排名第二的民间汉化插件,简直不是量级的。

装上这 14 个插件后,PyCharm 真的是无敌的存在

点击 INSTALL 安装后,会提示你进行重启,才能生效。

装上这 14 个插件后,PyCharm 真的是无敌的存在

重启完成后,展现在我们面前的是一个既熟悉又陌生的界面,所有的菜单栏全部变成了中文。

装上这 14 个插件后,PyCharm 真的是无敌的存在

点进设置一看,可以说基本实现了汉化,只剩下一小撮的英文(难道是因为这些词保留英文会比翻译后更容易理解吗?就像 socket 和套接字一样。),不过个人感觉完全不影响使用了。

装上这 14 个插件后,PyCharm 真的是无敌的存在

12. Profile

(注:这个是自带工具,不是插件)

在 Python 中有许多模块可以帮助你分析并找出你的项目中哪里出现了性能问题。

比如,常用的模块有 cProfile,在某些框架中,也内置了中间件帮助你进行性能分析,比如 Django ,WSGI。

做为Python 的第一 IDE, PyCharm 本身就支持了这项功能。而且使用非常方便,小白。

假设现在要分析如下这段代码的性能损耗情况,找出到底哪个函数耗时最多

import time

def fun1():
 time.sleep(1)

def fun2():
 time.sleep(1)

def fun3():
 time.sleep(2)

def fun4():
 time.sleep(1)

def fun5():
 time.sleep(1)
 fun4()

fun1()
fun2()
fun3()
fun5()

点击 Run -> Profile ‘程序' ,即可进行性能分析。

装上这 14 个插件后,PyCharm 真的是无敌的存在

运行完毕后,会自动跳出一个性能统计界面。

装上这 14 个插件后,PyCharm 真的是无敌的存在

性能统计界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列组成一个表格,见下图。

  • 表头Name显示被调用的模块或者函数;Call Count显示被调用的次数;Time(ms)显示运行时间和时间百分比,时间单位为毫秒(ms)。
  • 点击表头上的小三角可以升序或降序排列表格。
  • 在Name这一个列中双击某一行可以跳转到对应的代码。
  • 以fun4这一行举例:fun4被调用了一次,运行时间为1000ms,占整个运行时间的16.7%

点击 Call Graph(调用关系图)界面直观展示了各函数直接的调用关系、运行时间和时间百分比,见下图。

装上这 14 个插件后,PyCharm 真的是无敌的存在

右上角的4个按钮表示放大、缩小、真实大小、合适大小;

  • 箭头表示调用关系,由调用者指向被调用者;
  • 矩形的左上角显示模块或者函数的名称,右上角显示被调用的次数;
  • 矩形中间显示运行时间和时间百分比;
  • 矩形的颜色表示运行时间或者时间百分比大小的趋势:红色 > 黄绿色 > 绿色,由图可以看出fun3的矩形为黄绿色,fun1为绿色,所有fun3运行时间比fun1长。
  • 从图中可以看出Test.py直接调用了fun3、fun1、fun2和fun5函数;fun5函数直接调用了fun4函数;fun1、fun2、fun3、fun4和fun5都直接调用了print以及sleep函数;整个测试代码运行的总时间为6006ms,其中fun3的运行时间为1999ms,所占的时间百分比为33.3%,也就是 1999ms / 6006ms = 33.3%。

13. Json Parser

在开发过程中,经常会把校验一串 JSON 字符串是否合法,在以前我的做法都是打开 https://tool.lu/json/ 这个在线网站,直接美化来校验,只有 JSON 格式都正确无误合法的,才能够美化。

装上这 14 个插件后,PyCharm 真的是无敌的存在

直到后来发现在 PyCharm 有一个插件专门来做这个事,那就是 JSON Parser,在插件市场安装后,重启 PyCharm ,就能在右侧边栏中看到它。

装上这 14 个插件后,PyCharm 真的是无敌的存在

14. Inspect Code in PyCharm

对于编译型的语言,如 Java,需要将代码编译成机器可识别的语言才可运行,在编译过程中,就可以通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷。这个过程叫做静态代码分析检查。

那对于 Python 这种解释型的语言来说,代码是边运行边翻译的,不需要经过编译这个过程。很多肉眼无法一下子看出的错误,通常都是跑一下(反正跑一下这么方便)才能发现。

由于Python 运行是如此的方便,以至于我们都不太需要关注静态分析工具。

但也不是说,静态分析工具完全没有用武之地,我认为还是有。

如果你的编码能力还没有很成熟,代码中可以有许许多多的隐藏bug,由于 Python 是运行到的时候才解释,导致一次运行只能发现一个错误,要发现100个bug,要运行100次,数字有点夸大,其实就是想说,如果这么多的错误都能通过一次静态检查发现就立马修改,开发调试的效率就可以有所提升。当然啦,并不是说所有的错误静态分析都能提前发现,这点希望你不要误解。

做为 Python 最强 IDE,PyCharm本身内置了这个功能,不需要你安装任何插件。

你只需要像下面这样点击项目文件夹,然后右键,选择 Inspect Code,就可以开启静态检查。

装上这 14 个插件后,PyCharm 真的是无敌的存在

我对开源组件 nova 的静态检查发现,其有不规范的地方有数千处。

装上这 14 个插件后,PyCharm 真的是无敌的存在

另外,我还整理了 100 个 PyCharm 的使用技巧,为了让新手能够直接上手,我花了很多的时间录制了上百张 GIF 动图。

有兴趣的前往在线文档阅读:PyCharm 中文指南

装上这 14 个插件后,PyCharm 真的是无敌的存在

到此这篇关于装上这 14 个插件后,PyCharm 真的是无敌的存在的文章就介绍到这了,更多相关PyCharm 插件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的ORM框架SQLAlchemy入门教程
Apr 28 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
python批量提取word内信息
Aug 09 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
Python实现大数据收集至excel的思路详解
Jan 03 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
Jupyter Notebook 远程访问配置详解
Jan 11 #Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 #Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 #Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 #Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
Jan 09 #Python
selenium+headless chrome爬虫的实现示例
Jan 08 #Python
plt.figure()参数使用详解及运行演示
Jan 08 #Python
You might like
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
javascript jQuery插件练习
2008/12/24 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
js校验开始时间和结束时间
2020/05/26 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
详解Python3中ceil()函数用法
2019/02/19 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
个人自荐书
2013/12/20 职场文书
个人求职自荐信范文
2015/03/06 职场文书
员工试用期工作总结
2019/06/20 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python