AutoPep8-----Pycharm自动排版工具

查找pycharm中的external tool的步骤:

https://jingyan.baidu.com/article/84b4f565bd39a060f6da3211.html

今天从 PyCharm 入手,写一些可以明显改善开发效率的使用技巧,一旦学会,受用一生。以下代码演示是在 Mac 环境下,Windows 也类似,Command 键 相当于 Windows 上的 Control 键。

1. 代码排版,自动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$:.*

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

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

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

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

2. 误删文件,一秒找回

上周,由于自己的误操作,在没有任何备份的情况下,将一个自己写了两个星期的项目给删除了。待我回头神来的时候,我甚至都记不起是何时进行的删除操作。

做为一名老司机,当然是临危不惧地打开了回收站,进行一番搜寻,几个月没有清理过的回收站,真是一片狼藉,什么 jpg,avi 都有,不堪入目呀。

我用一分钟快速浏览了一下,没有发现我要找的那几个 py 文件,我心想,应该是文件太多了,看叉掉了。由于项目是最近写的,文件名我还清楚地记得,既然有文件名,那就利用windows 自带的搜索功能,结果还是没有,这下我才开始意识到事态的严重性,文件可能真的「没了」。

我已经很久没有清理过回收站了,为什么回收站里会没有我的文件呢?

我想这可能是一次非同寻常的 delete,会不会是在 Pycharm 里的 发起删除操作,不会往回收站里丢呢?经过一番测试,在回收站还真的找不着,但是这次尝试也无意中发现了 Pycharm 的隐藏的一个功能 Local History,它会保存你对文件的所有操作记录。

就拿我的刚刚测试的文件来举例,我先是新建了一个文件,然后对在这个文件里添加了几行代码。最后我将这个文件删除了。

此时你可以在你的项目目录里,点击右键,有个 Local History 的选项,再点击子选项 Show History,你可以看到这里有个记录板。如果你想恢复删除的文件,就在删除的记录项点击右键,选择 Revert 即可恢复。

3. 拥抱Vim,远离鼠标

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

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

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

4. 代码模板,效率编码

Pycharm 提供的这个代码模板,可以说是相当实用的一个功能了。它可以在你新建一个文件时,按照你预设的模板给你生成一段内容,比如解释器路径,编码方法,作者详细信息等

按照上图模板,生成的效果如下。

除了新建文件时可以初始化文件,在开发编写代码时,也同样使用 Pycharm 中自带的实用的代码模板,提高你的编码效率。

当你在键盘中敲入 Command + J 时,就可以调出一个面板,从下图可以看出里面有许多预设的模板。

如果我们想选择最后一个 main ,可以继续键入 main,然后就可以直接生成如下这段平时都要手动敲入的代码。

这里再举个例子,for 循环 可以这样写。

5. 使用书签,快速定位

都我在看框架的源代码时,最常使用的是 Command + B (也就是 command + 鼠标左键 )一层一层地往里深入,但是当源代码比较多,可能一整个事件过程涉及十几文件,函数调用错综复杂,对于一个庞大的项目来说,有用的可能就几个关键函数,每次要找到这几个函数,都要重头从源函数再一层一层的找下去,这样实在太麻烦了,我常常因此把自己给看晕了。

直到后来我发现了 Pycharm 这个书签功能。

使用书签功能,我可以在在关键的位置打上书签,想看的时候,调用书签,快速定位即可。

使用它,你需要记住下面下几个快捷键

Command + F11    打上书签

Shift + F11       展示所有书签

F11                  删除书签(经测试仅能在Windows上有效)

在你要打书签的位置,按下 Command + F11 ,你可以给这个位置加个序号,可以是数字也可以是字母,假如在下面这个位置 加了 1 这个序号,下次你就可以使用 Control + 1 直接跳转到这个位置。

当然你也可以不加,不加的话就是匿名书签了。你可以使用 Shift + F11 展示所有的书签,再进行跳转。

本周的 PyCharm 高效技巧,就是这五个了,你学会了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里P8架构师谈:java架构师面试技能24全点

1,JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然; 2,对Spring,MyBatis/Hibernate,Struts2,SpringMVC等开源框架熟悉并且了解到它的基本原理和…

百度自然语言处理部招人啦!正式、实习都要!研究、落地都有!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术2010年,百度自然语言处理部正式成立。十年来,百度NLP聚集了一大批兼具扎实技术实力和实践经验的AI人才,获得数十项国内外权威奖项,申请专利上千件,发…

我与导师的聊天记录

虽然导师远在马来西亚,但是每次都是很耐心的回答我的问题,真的是非常感激啦! 我就想记录下来,自己提出的问题,老师给我的解答,算是我研究生生涯的很大一部分生活了吧! 噢~ 还有就是,…

论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为跨语言知识图谱问答。来源:CIKM’2018链接:http://delivery.acm.org/10.1145/3280000/3271704/p247-guan.pdf?ip121.249.15.96&id3271704&accACTIVE%20SERVICE…

PyTorch常用代码段合集

文 | Jack Stark知乎编 | 极市平台来源 | https://zhuanlan.zhihu.com/p/104019160导读本文是PyTorch常用代码段合集,涵盖基本配置、张量处理、模型定义与操作、数据处理、模型训练与测试等5个方面,还给出了多个值得注意的Tips,内容非常全面。…

想成长为一名实战型架构师?7大实战技能经验分享

很多同学想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些? 我简要从以下7点经验来谈,从技能的角度抛砖引玉。 编程基本功:数据结构和算法 1.数据结构相关的哈希表、链表、二叉…

LeetCode 70. 爬楼梯(动态规划)

题目链接:https://leetcode-cn.com/problems/climbing-stairs/ 之前在递归中讲过这个问题,现在用动态规划求解。 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意&…

技术动态 | 藏经阁计划发布一年,阿里知识引擎有哪些技术突破?

本文转载自公众号:阿里技术。导读:2018年4月阿里巴巴业务平台事业部——知识图谱团队联合清华大学、浙江大学、中科院自动化所、中科院软件所、苏州大学等五家机构,联合发布藏经阁(知识引擎)研究计划。藏经阁计划依赖阿…

python中模块、函数与各个模块之间的调用

1 针对一个模块的函数调用 a : import 模块名 模块名.函数名 b: from 模块名 import 函数名 (as 别名) python调用另一个.py文件中的类和函数 同一文件夹下的调用 1.调用函数 A.py文件如下: def add(x,y): print(‘和…

模拟退火算法求解TSP问题

前言:模拟退火(simulated annealing)技术,在每一步都以一定的概率接受比当前结果更差的结果,从而有助于“跳出”局部极小。在每次迭代过程中,接受“次优解”的概率要随着时间的推移而逐渐降低,从…

一篇文章彻底搞懂“分布式事务”

在如今的分布式盛行的时代,分布式事务永远都是绕不开的一个话题,今天就谈谈分布式事务相关的一致性与实战解决方案。 01 为什么需要分布式事务 由于近十年互联网的发展非常迅速,很多网站的访问越来越大,集中式环境已经不能满足业…

C++很难学?这个ACM金牌大佬可不这么认为!

C作为一门底层可操作性很强的语言,广泛应用于游戏开发、工业和追求性能、速度的应用。比如腾讯,无论游戏,还是微信,整个鹅厂后台几乎都是 C 开发,对 C 开发者的需求非常大。但问题是C入门和精通都比较困难,…

数据结构--位图 BitMap

文章目录1. 位图2. 位图代码3. 布隆过滤器 Bloom Filter4. 总结1. 位图 我们有1千万个整数,整数的范围在1到1亿之间。如何快速查找某个整数是否在这1千万个整数中呢? 当然,这个问题可以用散列表来解决。可以使用一种特殊的散列表&#xff0…

领域应用 | 企业效益最大化的秘密:知识图谱

本文转载自公众号:TigerGraph。凡是有关系的地方都可以用知识图谱。知识图谱知识图谱是用节点和关系所组成的图谱,为真实世界的各个场景直观地建模,运用“图”这种基础性、通用性的“语言”,“高保真”地表达这个多姿多彩世界的各…

国家一级职业资格证书 计算机类有哪些

当前bai,计算机证书考试多种du多样,水平参差不齐。比较正规且得到社会zhi认可的dao计算机证书考试有以下几种:全国计算机应用软件人员水平考试、计算机等级考试、计算机及信息高新技术考试、计算机应用水平测试和各种国外著名大计算机公司组织…

阿里P8架构师谈:分布式系统全局唯一ID简介、特点、5种生成方式

什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。 如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足…

朴素贝叶斯算法--过滤垃圾短信

文章目录1. 基于黑名单过滤2. 基于规则过滤3. 基于概率统计过滤4. 总结上一节我们讲到,如何用位图、布隆过滤器,来 过滤重复数据。今天,我们再讲一个跟过滤相关的问题,如何过滤垃圾短信?1. 基于黑名单过滤 可以维护一…

2020深度文本匹配最新进展:精度、速度我都要!

文 | QvQ编 | 兔子酱在过去的几年里,信息检索(IR)领域见证了一系列神经排序模型的引入,这些模型多是基于表示或基于交互的,亦或二者的融合。然鹅,模型虽非常有效,尤其是基于 PLMs 的排序模型更是增加了几个数量级的计算…

开源开放 | Gowild 狗尾草“七律”知识图谱进入 OpenKG,开放 8000 万中文百科知识三元组数据...

项目网站: https://ai.gowild.cn/kgOpenKG发布地址: http://openkg.cn/dataset/7lore狗尾草科技:https://www.gowild.cn1.七律开放知识图谱简介作为人工智能技术的重要分支,知识图谱自2012年被提出并成功应用后,就获得了迅速发展,…

向量空间 Vector Space -- 推荐系统

文章目录1. 算法解析2. 基于相似用户做推荐3. 基于相似歌曲做推荐4. 总结音乐App的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的口味偏好, 给你推荐可能会喜爱的音乐,有时候,推荐的还非常适合你的口味。1. 算…