你有哪些想要分享的 PyCharm 使用技巧?
链接:https://www.zhihu.com/question/37787004/answer/75269463
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
JetBrains家的IDE很多技巧是通用的,说一些自己日常用得多但不一定仅限于PyCharm的技巧:
`ctrl+alt+L`,格式化代码,曾经用Eclipse的时候,格式化代码一定要先选中某个区域的代码块再进行格式化,用了JetBrains的IDE之后就习惯性地格式化一下,还必须手贱多格式化几次才舒服,不过有后遗症,以后到各种编辑框中总喜欢`ctrl+alt+L`几下才舒服
`alt+enter`万能键,不同场景有不同的表现方式,在还没import(install)模块名上使用会import(install)相对应的模块,在方法名上使用补注释,在测试中使用帮你补充断言代码……不管出错了不知道怎么办,知道怎么办想这么办时都按下这个快捷键,有惊喜
`ctrl+space` 万能提示键,PyCharm的会根据上下文提供补全。不仅是代码提示,`ctrl+f`搜索的时候,不知道该键入啥时就按下,经常给人惊喜。在windows下由于输入法无法使用这个快捷键,`ctrl+alt+s`打开设置键入 keymap,在Keymap中搜索basic可以找到并修改它
`ctrl+shift+f10`运行当前文件,十分智能,如果是测试代码,则以测试模式run,并列出测试通过情况
`ctrl+w`扩展选取和`ctrl+shift+w`缩减选区,根据当前层级一层一层向上伸展选中区域,例如value ->key:value -> dict -> ... ,每按一次就扩展一级,`ctrl+shift+w`用来取消上一次的扩展选取操作,注意后遗症,大部分软件中的`ctrl+w`是关闭!是`ctrl+shift+箭头`而不是`ctrl+w`
`ctrl+alt+shift+T`重构选区,可以将选区抽取成变量,方法等。不同的重构方式有不同的快捷键,比如将a.b.c中的a.b抽取出来,选中a.b,键入`ctrl+alt+v`可见效果
`ctrl+q`查注释
`ctrl+shift+i`没注释时查源码
`ctrl+p`调用方法时查看参数,在括号内按下,就知道当前位置该给啥参数,不过由于是Python,这里使用`ctrl+space`也可以达到很好的效果
`shift+enter`另起一行,光标在行内任意位置都能另起一行,且不破坏当行结构
`ctrl+alt+enter`向上另起一行
`ctrl+shift+数字键`与`ctrl+数字键`书签功能
`ctrl+shift+a`搜索IDE功能,比如想看看这个文件的历史,就键入history 可以找到 Local history
变量或表达式的最后键入`.(点)`,出现提示后,看最下面的部分有各种代码模板,例如现有变量a,在下一行键入 a.(点)print 然后键入`tab`,Python2会变成`print a`,Python3会变成`print(a)`,还有if,else等各种常用的代码模板
双击`shift`搜索一切,不管是IDE功能、文件、方法、变量……都能搜索
各个窗口下,无论是Project,Setting,Debugger...都可以直接键入想要搜索的内容,它会帮你高亮,键入`↑`或`↓`可切换匹配到的目标
整合的REPL,由于JetBrains的加成可以实现很多与编辑器内相同的效果
整合了Git,通过插件可以支持 Git flow,十分优秀的代码对比,merge时解决冲突很有帮助
Local history,文件夹,每个文件都有记录历史版本
整合了source code pro字体+Darcula Theme(暗色主题) ,眼不疼了
Tip of the day,总会给人带来一些有用的小功能 ,别嫌烦就给关了啊,写代码累了,Help > Tip of the day点开看看
固态硬盘,配合JetBrains碉堡的索引,虽然没什么关系
收藏感谢收起

为 PyCharm 新手整理了最常用的10个小技巧,能帮你省下不少时间。
0. 常用快捷键
先上两张速查图,可以设为桌面或者打印出来放在手边,想不起来时瞄一眼,很快就能记住常用快捷键了。
<img src="https://pic1.zhimg.com/50/v2-cb058dde6f3580de6589eedc8193acee_hd.jpg" data-rawwidth="3308" data-rawheight="1805" class="origin_image zh-lightbox-thumb" width="3308" data-original="https://pic1.zhimg.com/v2-cb058dde6f3580de6589eedc8193acee_r.jpg">
<img src="https://pic2.zhimg.com/50/v2-6907ff91de0072a7b52bb38518b3f738_hd.jpg" data-rawwidth="3308" data-rawheight="1805" class="origin_image zh-lightbox-thumb" width="3308" data-original="https://pic2.zhimg.com/v2-6907ff91de0072a7b52bb38518b3f738_r.jpg">
1. 查看使用库源码
<img src="https://pic4.zhimg.com/50/v2-dadfbdb13d76925de2f64258281181c9_hd.jpg" data-rawwidth="720" data-rawheight="636" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic4.zhimg.com/v2-dadfbdb13d76925de2f64258281181c9_r.jpg">
经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击 Command+B,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。
2. 让你的代码 PEP8
<img src="https://pic1.zhimg.com/50/v2-393e12efbbbbaf80f062d6f54ecf2445_hd.jpg" data-rawwidth="720" data-rawheight="585" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic1.zhimg.com/v2-393e12efbbbbaf80f062d6f54ecf2445_r.jpg">
写 Python 代码时,你会严格遵守 pep8 规范么?还是要遵守的,不然代码传到 github 或者知乎上被人怼就不好了。但是如果靠肉眼去检查和注意的话,太累,靠 PyCharm 来做这事就好,Command+Option+L,一键 pep8 走起。
3. 新手不再愁安装库
<img src="https://pic3.zhimg.com/50/v2-b6655f27ce948f49a56fbc4778dcecff_hd.jpg" data-rawwidth="720" data-rawheight="612" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/v2-b6655f27ce948f49a56fbc4778dcecff_r.jpg">
如果你是新手,可能会为了安装库而感到烦恼,在 PyCharm 里面可以使用你熟悉的图形化界面来安装库,就不用陷在一堆命令行里了。
4. 查找文件,类, 方法
当我们需要在项目中寻找一个文件名的时候,输入 Command + Shift + O,然后输入你想查找的文件名就可以了。如果你不记得全名了,只需要输入首字母,Pycharm 就会提示你。比如我想查找一个叫 test_errors.py 的文件,那么只需要输入 tee 就可以找到。又或者查询 test_errors_1.py 那么只需要输入 tee1 就可以查找到。
5. 快速选择代码块
你会怎么快速注释一段 Python 代码块?不会是一行一行的加#吧……
在需要选择某个函数的时候,只需要把光标放在最前面,然后点击 Command + Option + Shift + [ ,就可以选择对当前代码块, 使用 Command + / 注释。
6.快速插入常用代码
<img src="https://pic1.zhimg.com/50/v2-107fec50a31a59e11e873f7924fcc51f_hd.jpg" data-rawwidth="720" data-rawheight="728" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic1.zhimg.com/v2-107fec50a31a59e11e873f7924fcc51f_r.jpg">
有时候需要输入很长的代码,比如 if __name__ == '__main__': ,这时候手动输入不如直接 Command + J ,就可以直接插入常用代码了。
7.运行/调试代码
运行代码、调试代码应该是大多数人最常用的快捷键吧。具体操作见视频:

8.缩进你的代码块
在写前端页面的时候,经常要更改一大段代码的缩进,这时候可以先用 Shift + 上下键 来选择你要缩进的代码块,然后使用 Tab 就能缩进啦。

9.展开/收缩代码
当项目写到一定规模的时候,难免方法/函数会很多,这个时候我们可以使用
Command + Shift + -符号 来收缩代码,这个主要是为了方便查看。

10.展示多个页面
<img src="https://pic2.zhimg.com/50/v2-f21ad6fc87a18d7b608192d3c5a49307_hd.jpg" data-rawwidth="720" data-rawheight="312" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic2.zhimg.com/v2-f21ad6fc87a18d7b608192d3c5a49307_r.jpg">
当你的公司不愿意为你配置2个显示屏时,你依然可以使用 PyCharm 在一个屏幕里查看多个文件。鼠标放到当前导航处的文件名,然后右键 Split Vertically 或者 Split Horizontally 就可以啦。

——————————纠结的更新分割线——————————
看到大家这么喜欢很开心,想更新10个高阶一点的技巧,又有点担心太长了没人看,很纠结。不过本着对知识负责的态度,还是要更新高阶技巧的。看不完没关系,先收藏起来以后再看嘛。
11.IdeaVim 插件回到 VIM
<img src="https://pic3.zhimg.com/50/v2-43951426b5aca15086d41aa64b774049_hd.jpg" data-rawwidth="720" data-rawheight="728" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/v2-43951426b5aca15086d41aa64b774049_r.jpg">
如果你是 VIM 的忠实粉丝,那么没关系,IdeaVim 插件让你能享受 PyCharm 的智能可视化功能时 还不失去 VIM 的快捷编辑 。Enjoy VIM in PyCharm!
12. 设置代码模板
设置代码模版是个非常实用的技巧,通过代码模版我们可以指定新建代码文件诸如解释器路径、文件编码方法、版权、作者等通用信息。
13. 函数调用层级可视化
<img src="https://pic1.zhimg.com/50/v2-f8e32f5cedd4252b99c8084f5f751d97_hd.jpg" data-rawwidth="720" data-rawheight="711" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic1.zhimg.com/v2-f8e32f5cedd4252b99c8084f5f751d97_r.jpg">
在大型项目中,函数调用关系及其复杂时,若我们要从整体上理清业务的逻辑关系,那么关键函数的调用层级信息则非常重要。

14. 实时显示文档和函数参数
当你在默默写着代码时,突然发现自己忘记了正使用的库函数定义和参数时,你会怎么办,切出到浏览器里搜索该函数吗?NO,PyCharm 提供了更好的方法,只需要一键即可显示出该函数的定义,并且可以实时显示出参数。在 PyCharm 中, 通过快捷键 F1 可以调出光标处函数文档,Command+P 可以显示出光标处函数参数。

15. 超实用搜索 Search Everywhere
提到搜索,不得不表扬下 PyCharm 的 Search Everywhere 功能,你可以搜索到整个项目中(包括库文件)所有类、文件、符号(变量、函数)等,非常方便。当然它也支持你单独搜索类、文件或符号。

16. DEBUG
试想下,Python 怎么进行调试呢?pdb,没错,这个和 gdb 类似的工具。那么一般如何使用, 一种常见的方式是在需要加入断点的地方插入 import pdb; pdb.set_trace(), 然后再正常运行脚本, 程序会自动在设置断点处停下来。 在 PyCharm 中,你可以像使用 VC++调试 C/C++代码那样来调试 Python,这种既视感可是很舒服的。

17. 智能重构
<img src="https://pic3.zhimg.com/50/v2-c54e3d09d2ff7a8ce8fddf3d1e298fae_hd.jpg" data-rawwidth="720" data-rawheight="592" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/v2-c54e3d09d2ff7a8ce8fddf3d1e298fae_r.jpg">
某日产品经理丢来一个需求,要求一周搞定,然后你每晚加班到凌晨辛勤工作来搞定这个需求,时间刚好过去一半,产品经理又来找你了,“我们这个需求能否做点小调整”,当你听到这个消息时,你的心里应该隐隐感觉到不妙。是的,产品经理可不管你之前代码 import 依赖有多复杂,函数或者变量或者类的命名是否贴切,代码文件路径是否合适......So,幸好 PyCharm 有智能的 Refactor 功能, 让你轻松重构函数、类,变换路径,更改文件名等等操作。
18. 快捷生成单元测试模板
<img src="https://pic3.zhimg.com/50/v2-1dba6a3283db18776b19e88ebdd8ff58_hd.jpg" data-rawwidth="720" data-rawheight="610" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/v2-1dba6a3283db18776b19e88ebdd8ff58_r.jpg">
单元测试是每个程序员都无法逾越的一道鸿沟,甚至单元测试覆盖率也会用来评估软件的健壮性。PyCharm 则提供了快速生成单元测试模版的方法。当然,PyCharm 只是帮你生成了单元测试的基础代码,测试的逻辑还是需要自己码的。

19. 图形化 VSC 操作之 git
git 作为程序员代码版本管理利器,广为程序员使用。但如果你对记忆 git 一堆堆命令比较头痛的话,那么 PyCharm 的图形化 VCS 将是你的拯救者。PyCharm 的 VCS 支持 git 和 svn,并通过图形界面方式提供了你所能想到的功能,而且界面简洁,易于操作。

20. 利用 ssh 远程部署
一般参与开发的大型项目时,个人负责的小组件都可能会依赖其它组建才能运行起来,而其它组建又比较复杂而不便于本地部署时,你会怎么办?是选择每次修改后,手动打包拷贝到远程服务器,在远程服务器上解压部署;还是希望在编辑器中修改之后,编辑器自动同步到远程服务器呢。不出意外,你会选择后者,而 PyCharm 则帮你实现了,你只需要配置一次,即可一劳永逸。
你有哪些想要分享的 PyCharm 使用技巧?的更多相关文章
- 每周分享五个 PyCharm 使用技巧(二)
这是 「PyCharm 技巧分享」系列的第二篇分享.由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可. 先声明下,并不保证对所有的人都是有帮助的, ...
- 每周分享五个 PyCharm 使用技巧(一)
PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带 ...
- 每周分享五个 PyCharm 使用技巧(六)
大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从今年3月24号开始一直到今天,将近四个月的时间.包括本篇,一共更新了6篇文章,每篇 5 个小技巧,总计 30 个. 这30个使用技巧,全部 ...
- 每周分享五个 PyCharm 使用技巧(四)
文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...
- 每周分享五个 PyCharm 使用技巧(三)
文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...
- Pycharm小技巧--使用正则进行查找和批量替换
分享一个Pycharm中使用正则的分组匹配来进行批量替换的小技巧 例如,我现在需要把HTML文件中的静态文件得到路径全部替换为django模板引用路径的格式 修改为类似这样的格式: {% static ...
- PyCharm常用技巧集合
PyCharm常用技巧集合 一.添加或者修改文件模板 File>settings>Editor>File and Code Templates>Python Script 你可 ...
- Pycharm使用技巧(转载)
Pycharm使用技巧(转载) 转载自:http://www.cnblogs.com/cloudtj/articles/5980666.html pycharm使用技巧 https://python. ...
- pycharm使用技巧 + 调试程序-12
Pycharm使用技巧 系出名门:JetBrains 集成开发环境:IDE 功能: Project视图.代码结构视图 代码导航 语法高亮.自动补齐.错误提示.自动修复 代码重构 主流开发框架的支持(D ...
随机推荐
- Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/l ...
- C - 数字配对 (网络流 最大费用最大流)
题目链接:https://cn.vjudge.net/contest/281959#problem/C 题目大意:中文题目 具体思路:用网络流的思想,我们求得是最大的匹配数,那么我们按照二分图的形式去 ...
- mysql 架构 ~异地容灾
一 简介 我们来探讨下多机房下的mysql架构二 目的: 首先要清楚你的目的 1 实现异地机房的容灾备份 2 实现异地机房的双活 三 叙说 1 实现异地机房的容灾备份 ...
- android view绘制流程 面试
一.view树的绘制流程 measure--->layout--->draw measure 1.ViewGroup.LayoutParams 指定部件的长宽 2.MeasureSpec ...
- 【逆向工具】IDA使用5-( string、图形化与视图的切换、图形化显示反汇编地址、自动注释、标签使用)
分析petya病毒时新学会的技巧. IDA技巧1 : string 提取文件中的字符串内容,如果看到一些文件字符串可以定位到关键的函数中. view -> open subview -> ...
- zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控
zabbix添加对自定义无规则日志文件的监控 项目背景及思路: zabbix自带有针对日志文件的监控,自带的监控只能监控到指定文件或者正则匹配的固定日志文件,但当需要监控的文件名没有规律的时候自带监控 ...
- nagios监控客户端报错/usr/bin/perl^M: bad interpreter: No such file or directory
nagios服务端监控客户端内存时发现监控不上 在客户端直接执行脚本,报错如下: # /usr/local/nagios/libexec/check_memory.pl -w 6% -c 3% -ba ...
- Python-ccs高级选择器 盒模型
css高级选择器与盒模型 脱离文档流 ,其中就是产生了BFC 1.组合选择器 - 群组选择器 /* 每个选择器位可以位三种基础选择器的任意一个, 用逗号隔开, 控制多个 */ div, #div, . ...
- LeetCode(60): 第k个排列
Medium! 题目描述: 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列. 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123" ...
- JVM内存管理概述
1.概述 java不在需要开发人员显示的分配内存和回收内存,而是由JVM自动管理内存的分配和回收(又称为垃圾回收-GC),这简化了编程难度,但同时可能使得程序员在不知不觉中浪费了很多内存,导致JVM花 ...