你有哪些想要分享的 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 ...
随机推荐
- php 设置中文 cookie, js获取
参考链接:http://www.nowamagic.net/librarys/veda/detail/1271 http://www.ruanyifeng.com/blog/2008/06/base6 ...
- android 使用SQLite存储数据
创建一个类继承SQLiteOpenHelper,重写他的构造方法.onCreate().onUpgrade() 构建出SQLiteOpenHelper实例后,再调用他的getReadableDatab ...
- D3开发中的资料整理
D3开发台阶比较高,需要对html,css,js非常熟练,还要对SVG非常熟悉,SVG不会就不要开发D3了,下面给大家推荐一本资料,为大家未来的开发提供便利. 这个框架产品不支持ie8,是这个产品的特 ...
- 文件&报表状态ID
def_filestatus Uploading=4 WaitingParse=6 Parsing=10 Completed=14 ParseError=1006 UploadError=1004 d ...
- mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid)
mysql启动报错Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.p ...
- vux安装中遇到的坑
1.输入 npm install vux --save 2.输入 npm install vux-loader --save-dev(没安装的时候,会一直报错) 3.build/webpack.bas ...
- mysql数据库查询库中所有表所占空间大小
SELECT CONCAT(table_schema,'.',table_name) AS 'TABLE_NAME', CONCAT(, ),'M') AS 'ROW_SIZE', CONCAT( ) ...
- 解决报错SAXNotRecognizedException: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' not recognized
今天调试appium脚本,发现运行脚本就报错 SAXNotRecognizedException: Feature 'http://javax.xml.XMLConstants/feature/sec ...
- IOS支持多国语言
- hdu4638 莫队算法
莫队算法基础题,题目看懂就能做出来 #include<iostream> #include<cstring> #include<cstdio> #include&l ...