Pycharm

作者:王蒙
标签:IDE
简介:介绍 Pycharm 。

目标读者

Pycharm 用户

解决办法

Pycharm 超好用功能

调试器(debugger)

断点

除了基本的操作(参见参考文献中的视频),可以设置 条件断点

调试多线程的程序,可以设置断点是仅仅 suspend 当前线程的执行,还是 suspend 所有线程的执行。

../_images/断点.png

Alt + 2 能查看所有的断点,书签。在调试程序和阅读源码时,会很方便。

单步执行

step over

把调用函数看成一步。

step into

把调用函数看成多步,会进入到函数定义中(进入函数定义中后,可以接着单步执行函数定义中的每一步)。

step out

一步执行完当前函数(或者模块)剩余的所有语句并返回。

step into my code

不进入第三方包的函数定义。但是会进入自己定义的函数定义。

Resume Program

运行到下一个断点处。

watcher & evaluator

evaluator 可以在断点处执行代码,调试程序。 watcher 可以观察各个变量的值。

Run Config: 参见视频 Running Python Code

  • Interpreter: vagrant, ssh, docker, local interpreter。
  • Run configuration。

编辑器(editor)

具体看 Code Navigation 视频。

  • 查找

具体看 Productive Coding 视频。

  • 重构(refactor)。
  • 自动补全, Alt + Enter 键。
  • 模板(template)。
  • language injection。

git

Pycharm 使用 git 相比于直接使用命令行的优势在于:

  • 可视化的界面显示了提交了哪些更改。
  • 方便和 Pycharm 的其他功能集成。比如可以设置在 git 提交代码之前先检查代码,代码不规范不能提交等。

数据库,科学计算和网络开发

Pycharm 提供了图像化的数据库使用界面。

提供了科学计算模式,画图表时,会略微方便一点。

对 Django 的支持相当好。

具体的参考 What’s New in Pycharm 2017.3

部署

vagrant, docker, remote interpreter Pycharm 都支持。

Tools -> Deploy upload 功能,可以方便地把代码部署到服务器上。

检查代码

我一般用 pylint, flake8 不怎么用 Pycharm 的 Inspect code 功能。

Terminal

Pycharm 几乎提供了开发相关的所有功能。而且 Pycharm 可以配置 Tools -> External Tools , 让 Pycharm 集成命令行工具。但除了上一节介绍的功能之外,我选择直接使用命令行。

如图配置 terminal 为 bash.exe(安装了 git 就会有 bash.exe, 该 bash.exe 会启动类似 unix 的命令行环境)。这样配置之后,就可以以 unix 命令行的方式使用各种工具(比如 git,fabric,pylint,pytest,sphinx,coverage,profile)做开发。

../_images/terminal.png

Pycharm 通过安装 plugins (比如 docker, maven, markdown, redis 等等插件)扩展功能。坑爹的是,JetBrains 的 plugins 源有时候访问不了,下不来插件。

常用快捷键

  • Ctrl + Shift + A: 寻找 Pycharm 提供的功能
  • Alt + Enter: 自动补全
  • Ctrl + F7: 查看 Usage
  • Shift + Shift: 搜索类,字符串等等。
  • Ctrl + R: 替换
  • Ctrl + Z: 撤销
  • Ctrl + /: 注释/撤销注释
  • Ctrl + Alt + L : Reformat code。
  • Ctrl + Q: 查看文档。
  • Ctrl + P: 查看函数的 signature。
  • Ctrl + K: 提交代码。
  • Ctrl + W: 选择代码块。
  • Ctrl + -: 折叠代码块。
  • Ctrl + =: 展开代码块。
  • Ctrl + B: 查看函数,类的实现。
  • Ctrl + O: 查看基类的方法。
  • Alt + 1: 查看 project 结构。
  • Alt + 2: 查看书签和断点。
  • Alt + 6: 查看 todo。

其他

学会使用 Pycharm, 基本就会使用 JetBrains 公司出的其他 IDE。包括 Intelij IDEA, WebStorm, Clion 等等。

不使用 IDE, 纯手写(比如用纸和笔写代码)更提高代码水平。比如:

  • 实现算法的时候,手写代码。
  • 代码不依赖第三方包时,手写代码(更能体会编程语言本身的特性)。
  • 预先写伪代码。简单的代码看不出伪代码的好处,但是如果项目复杂,提前写好伪代码,能避免很多坑。
  • 最后,手写代码对面试帮助非常大。

单说开发效率,我坚持认为 Pycharm 能大大提高开发效率。

订阅 youtube 上的 JetBrainsTV 号,这个号里有大量的视频教程。

看 Pycharm help 文档,文档中详细写了每个功能的用法。