链接: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. 常用快捷键
先上两张速查图,可以设为桌面或者打印出来放在手边,想不起来时瞄一眼,很快就能记住常用快捷键了。
1. 查看使用库源码
经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击 Command+B,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。
2. 让你的代码 PEP8
写 Python 代码时,你会严格遵守 pep8 规范么?还是要遵守的,不然代码传到 github 或者知乎上被人怼就不好了。但是如果靠肉眼去检查和注意的话,太累,靠 PyCharm 来做这事就好,Command+Option+L,一键 pep8 走起。
3. 新手不再愁安装库
如果你是新手,可能会为了安装库而感到烦恼,在 PyCharm 里面可以使用你熟悉的图形化界面来安装库,就不用陷在一堆命令行里了。
4. 查找文件,类, 方法
当我们需要在项目中寻找一个文件名的时候,输入 Command + Shift + O,然后输入你想查找的文件名就可以了。如果你不记得全名了,只需要输入首字母,Pycharm 就会提示你。比如我想查找一个叫 test_errors.py 的文件,那么只需要输入 tee 就可以找到。又或者查询 test_errors_1.py 那么只需要输入 tee1 就可以查找到。
5. 快速选择代码块
你会怎么快速注释一段 Python 代码块?不会是一行一行的加#吧……
在需要选择某个函数的时候,只需要把光标放在最前面,然后点击 Command + Option + Shift + [ ,就可以选择对当前代码块, 使用 Command + / 注释。
6.快速插入常用代码
有时候需要输入很长的代码,比如 if __name__ == '__main__': ,这时候手动输入不如直接 Command + J ,就可以直接插入常用代码了。
7.运行/调试代码
运行代码、调试代码应该是大多数人最常用的快捷键吧。具体操作见视频:
8.缩进你的代码块
在写前端页面的时候,经常要更改一大段代码的缩进,这时候可以先用 Shift + 上下键 来选择你要缩进的代码块,然后使用 Tab 就能缩进啦。
9.展开/收缩代码
当项目写到一定规模的时候,难免方法/函数会很多,这个时候我们可以使用
Command + Shift + -符号 来收缩代码,这个主要是为了方便查看。
10.展示多个页面
当你的公司不愿意为你配置2个显示屏时,你依然可以使用 PyCharm 在一个屏幕里查看多个文件。鼠标放到当前导航处的文件名,然后右键 Split Vertically 或者 Split Horizontally 就可以啦。
——————————纠结的更新分割线——————————
看到大家这么喜欢很开心,想更新10个高阶一点的技巧,又有点担心太长了没人看,很纠结。不过本着对知识负责的态度,还是要更新高阶技巧的。看不完没关系,先收藏起来以后再看嘛。
11.IdeaVim 插件回到 VIM
如果你是 VIM 的忠实粉丝,那么没关系,IdeaVim 插件让你能享受 PyCharm 的智能可视化功能时 还不失去 VIM 的快捷编辑 。Enjoy VIM in PyCharm!
12. 设置代码模板
设置代码模版是个非常实用的技巧,通过代码模版我们可以指定新建代码文件诸如解释器路径、文件编码方法、版权、作者等通用信息。
13. 函数调用层级可视化
在大型项目中,函数调用关系及其复杂时,若我们要从整体上理清业务的逻辑关系,那么关键函数的调用层级信息则非常重要。
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. 智能重构
某日产品经理丢来一个需求,要求一周搞定,然后你每晚加班到凌晨辛勤工作来搞定这个需求,时间刚好过去一半,产品经理又来找你了,“我们这个需求能否做点小调整”,当你听到这个消息时,你的心里应该隐隐感觉到不妙。是的,产品经理可不管你之前代码 import 依赖有多复杂,函数或者变量或者类的命名是否贴切,代码文件路径是否合适......So,幸好 PyCharm 有智能的 Refactor 功能, 让你轻松重构函数、类,变换路径,更改文件名等等操作。
18. 快捷生成单元测试模板
单元测试是每个程序员都无法逾越的一道鸿沟,甚至单元测试覆盖率也会用来评估软件的健壮性。PyCharm 则提供了快速生成单元测试模版的方法。当然,PyCharm 只是帮你生成了单元测试的基础代码,测试的逻辑还是需要自己码的。
19. 图形化 VSC 操作之 git
git 作为程序员代码版本管理利器,广为程序员使用。但如果你对记忆 git 一堆堆命令比较头痛的话,那么 PyCharm 的图形化 VCS 将是你的拯救者。PyCharm 的 VCS 支持 git 和 svn,并通过图形界面方式提供了你所能想到的功能,而且界面简洁,易于操作。
20. 利用 ssh 远程部署
一般参与开发的大型项目时,个人负责的小组件都可能会依赖其它组建才能运行起来,而其它组建又比较复杂而不便于本地部署时,你会怎么办?是选择每次修改后,手动打包拷贝到远程服务器,在远程服务器上解压部署;还是希望在编辑器中修改之后,编辑器自动同步到远程服务器呢。不出意外,你会选择后者,而 PyCharm 则帮你实现了,你只需要配置一次,即可一劳永逸。