PyCharm 使用心得

2017-08-25 17:15:19 +08:00
 wsgzao

前言

PyCharm 是大 JB 旗下的产品之一,对于广大 Python 开发者来说应该不会陌生,对于个人开发者来说用什么 IDE(VIM/Sublime Text/Visual Studio Code)可能并不重要,但是面对一个开发素质参差不齐的团队时,我相信老老实实统一使用 PyCharm 会是一个虽然大但是全的不错选择,因为一开始就开启 pep8 和 pylint 检测能显著提升代码质量,各种错误和警告提示会逼着你写出高质量的代码。当然统一编码和注释风格,小团队做一些适度的 code review 和单元测试会帮助团队一起更快的成长,良好的代码有时候靠的是自律、规范和 review,而不仅仅是技术。

"我不是个伟大的程序员,我只是个有着一些优秀习惯的好程序员" | By Kent Beck

PyCharm - Python IDE for Professional Developers by JetBrains.

更新记录

2017 年 08 月 25 日 - 初稿

阅读原文 - https://wsgzao.github.io/post/pycharm/

扩展阅读

PyCharm - https://www.jetbrains.com/pycharm/

购买和使用

JetBrains 的产品大多数是付费形式,但是对于教育行业却实行免费授权计划,几乎涵盖所有产品,十分良心。

学生授权申请方式

https://sales.jetbrains.com/hc/zh-cn/articles/207154369-%E5%AD%A6%E7%94%9F%E6%8E%88%E6%9D%83%E7%94%B3%E8%AF%B7%E6%96%B9%E5%BC%8F

如果已经有一定经济能力请支持正版

基本配置

以下设置选项随着版本调整可能发生位置变化,但可以在 Settings(Ctrl+Alt+S)左上角的搜索栏里快速进行查询

字体调整

默认的字体个人觉得偏小,File-->Settings-->Editor-->Font,新版本不必像老版本一样调整前必须要保持一个新的 Scheme,直接修改你喜欢的字体和大小应用就可以看到效果了

显示行号

File-->Settings-->Editor-->General-->Appearance里勾选 Show line numbers

皮肤主题与编辑器主题

皮肤主题和编辑器主题是分开设置的

皮肤主题在File-->Settings-->Appearance & Behavior-->Appearance的 Theme 选项下选择

编辑器主题在File-->Settings-->Editor-->Colors Scheme的 Scheme 选项下选择

自动生成文件头

默认情况下,新建完一个文件后,PyCharm 会生成一个__author__ = '$USER'的文件头,但通常每个 Python 文件都会添加# -*- coding: utf-8 -*-来控制编码。可以在File-->Settings-->File and Code Templates中的 Templates 选中 Python Script 在右侧把你要自动添加的内容加进去

# -*- coding: utf-8 -*-
# __author__ = 'wangao'

常用快捷键

温馨提示:PyCharm 会实时自动保存代码并写入本地文件

Ctrl + / 行注释,可以批量选择和取消

快速按 2 次 Shift 全局文件名称查找,可以快速定位所要编辑的文件

Ctrl + F 当前文件查找

Ctrl + R 当前文件替换

Ctrl + Shift + F 全局查找,可能会和输入法的简繁快捷键冲突,记得关闭

Ctrl + Shift + R 全局替换

Ctrl + Z 撤销

Ctrl + Shift + Z 回撤

使用技巧

未完待续

参考文献

@陈俊岭 把 Pycharm 官方帮助文档翻译了一遍,如果英文不好可以适度参考

我的 Pycharm,我做主 - http://blog.csdn.net/u013088062/article/details/50388329

10646 次点击
所在节点    Python
23 条回复
whatafuck
2017-08-25 18:00:06 +08:00
ctrl+alt+L :代码自动整洁
ansheng
2017-08-25 18:09:46 +08:00
选中变量名,按 ctrl+shift+u 一键全大小写 。。
miaomiao0323
2017-08-25 18:10:08 +08:00
有时候还是觉得自己一开始写的格式顺眼
daya0576
2017-08-25 18:16:55 +08:00
哈哈哈. 好巧, 我也总结过一些快捷键:
https://changchen.me/blog/20170607/pycharm-shortcut/

这个翻译也是 nb 了
zeroxia
2017-08-25 21:23:00 +08:00
我用 python.exe -mpip install pyodbc 安装了一个新的包,然后在 PyCharm 里就不会提示包里的符号,这个怎么让它扫描一遍刷新一下?
LosLord
2017-08-25 21:28:41 +08:00
表示 python 的缩进好难弄,其他语言写的多乱,ctrl+alt+L 都会整理好,python 就不行了
mintist
2017-08-25 23:44:38 +08:00
大 PyCharm 的本地历史保留,就了我一命,必须支持

瞎 B 乱用 `git reset --hard HEAD`

😓
TJT
2017-08-26 00:52:05 +08:00
已订阅 JB 全家桶,尽情享用全部 JB。

快捷键都是那几个常用的快捷键,IdeaVim 才是神器。
dotaer
2017-08-26 07:28:21 +08:00
Pycharm 支持类型推断哦,给点类型提示,写代码爽歪歪
shiroming
2017-08-26 09:25:49 +08:00
@LosLord pycharm ctrl Alt L 也是一样格式化的效果,为啥说不行
LosLord
2017-08-26 09:30:22 +08:00
@shiroming 不是说 pycharm 的格式化不行,是我不习惯 python 的缩进,比如要在某段代码添加个 if 语句,我需要把这段代码全部缩进,然后加 if。其他对缩进不敏感的语言直接上面加个 if (){,尾部加个},直接 ctrl+alt+L
xvx
2017-08-26 09:44:31 +08:00
mark 一下常用快捷键。
shiroming
2017-08-26 09:49:36 +08:00
@LosLord 😂不习惯没办法。
hantsy
2017-08-26 10:21:39 +08:00
@whatafuck Format 真的要命,各 IDE 都不一样,NetBeans, Eclispe, IDEA, 经常用混掉。
fifman
2017-08-26 12:43:52 +08:00
本地历史这个真是太赞了。

而且 jB 全家桶统一的插件系统、统一的用户体验这点也是赞到不行

论 IDE,JB 现在真的有一桶浆糊的气势了
sangmong
2017-08-26 13:17:54 +08:00
mark
zhangysh1995
2017-08-26 13:50:27 +08:00
@zeroxia 左上角那个圆的箭头 Synchronize 同步应该就可以,实在不行重启清空缓存,再没有的话就是包的问题了
neoblackcap
2017-08-26 14:45:03 +08:00
custom vm option:
-Xms1024m
-Xmx2048m
-Xbootclasspath/a:../lib/boot.jar
-XX:ReservedCodeCacheSize=256m
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+UseG1GC
-XX:+AlwaysPreTouch
-Dide.no.platform.update=true
懂的话就拿去用,充分利用系统资源,减少卡顿
jiangbingo
2017-08-26 21:05:42 +08:00
入门 Python 就是从 pycharm 开始的。
wsgzao
2017-08-27 00:36:45 +08:00
@neoblackcap

这个优化配置之前官网也没有见到,因为内外网隔离,我们内网开发环境是基于 VMware Horizon View 的零客户机,缺少 GPU 的支持确实会卡顿,像 MS Office 必须关闭图形化硬件加速,而且因为 SMB 安全漏洞统一转为 SFTP Net Drive 网络 SSH 协议映射( PyCharm 文件索引和回写磁盘会有延迟),通过 virtualenvwrapper 和 Gitlab 来实现单元测试,code review 等 CI 协作。

请问您的配置具体如何实现,是否可以解决部分卡顿问题呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/385789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX