(自翻,有些地方拿捏不好用词多见谅。原文点此)
最强的 PythonIDE -- PyCharm
====
学习新语言的时候一个好的 IDE 就是一个好老师,应该积极地去使用。
因此,介绍一下 Python 的最好的 IDE Pycharm,以使用最多的Django Web 开发为例。
性能和价格体系等是2015年12月15日的 PyCharm 5.0.2 时的数据。
概要
https://www.jetbrains.com/pycharm/
PyCharm 是以高品质的 IDE 而有名的捷克JetBrains s.r.o. 出品的面向 Python 的 IDE。可以在 Windows/OS X/Linux 上使用。
JetBrains的 IDE 是以 JAVA 的 IDE IntelliJ IDEA 为基础,PyCharm 是为了增强 Python 而开发的。另外还有 Ruby,PHP,JS,C++,Objective-C/Swift等IDE。
PyCharm同时还附带了 JS,CSS,HTML 等 Web 开发相关联的组件,可以在同一个环境下开发项目。
价格
PyCharm 有收费的 Professional Edition 和免费的 Community Edition。
Community Edition 的 Python 解析机能是相同的,但是省去了前述的 Web 开发相关联的组件和对应 WebApplicationFramework的 DB、SQL 等。
若想进行 Web 开发还是推荐使用 Professional Edition。
30日的免费试用时间可以尝试一下。
价格体系
JetBrains 的产品分为按月/年付费,第一年的价格最高,继续使用的话收费逐渐降低,3年以后降到相同的价格。
购买页面有只含有 PyCharm 的购买方案和包括了 IntelliJ IDEA Ultimate 等其他语言 IDE 的 Products Packs购买方案两种。
PyCharm 包括了 Web 相关的机能不需要再购买 WebStorm。
安装
https://www.jetbrains.com/pycharm/download/
在这里可以下载到各平台的镜像。
然后按照指示就可以安装了。OS X 版同捆了 Java。
项目
PyCharm以 project 为单位来管理代码。
从开始菜单可以新建项目,读取现有代码和从 git 等 VCS 中读取。
之后,介绍相关的项目设定,和一些推荐功能。
virtualenv 管理
Python 使用 virtualenv 把开发环境分开的情况很多,可以在设定中新建新环境和设定。
新建项目时可以在Preferences -> Project -> Project Interpreter 中指定现有 virtualenv 环境和新建。
可以看见所有已安装的库,有更新的库也可以全部选择很方便。
把 PEP8警告提高到 waring
Python的标准编码规定 PEP8违反的警告优先度很低,最好提高一级到 warning。看见让人不舒服的 违反PEP8的代码没什么好处吧。
从Preferences -> Editor -> Inspections 内的 Python -> PEP8 coding style violation ,把 week warning 上调到 warning。
下面的naming conversion violation 也一同上调。
变更文件编码描述
Python 文件的编码若是 ascii 以外的话需要在文件开头注明。
在Preferences -> Editor -> Inspections 内的 Python -> File contains non-ASCII character 里,把 Encoding comment format 设定成你喜欢的编码。
注释的部分因为需要写日语,所以还是设定为全文件的默认状态吧。
** Project Structure **
可以添加搜索地址和 Template、图片的寻找地址。
代码补全出不来和 Template 跳转不行的时候确认一下。
** Django Setting **
可以指定使用Django的时候 Setinng 的位置和 Django Project 的位置。
** Docstring format **
Docstring 使用的格式。
在注释中使用 type hinting的时候有作用。
选择了reStructured的话应该没问题了。
** VGS **
Git, Mercurial, Subversion等 VGS。
编辑里可以确认设定和变更,进行部分还原。
设定git submodule和 Project 外的 VCS的路径时,也可以在这里追加。
** 显示行号、空格 **
在Preferences -> Editor -> General -> Appearance设定。
PyCharm 的搜索功能十分强大,左上的搜索框内输入就能显示出来。
** 文件模板 **
指定新建文件的模板。
Preferences -> Editor -> File and Code Templates
Python 2.x 使用的时候加上以下的两点。
absolute_import Python2.x 使用相对路径会导致混乱,请只使用绝对路径。想使用相对路径的时候需要明确的表述,用了这个就可以免去烦恼。Python3.x 时为默认状态。
unicode_literals 默认设定为 unicode。说明原因的话会很长,这里也设定为和 Python3.x 一样就不会有混乱了。
from __future__ import absolute_import
from __future__ import unicode_literals
** (写不同版本的 Python 代码的时候) **
Preferences -> Editor -> Inspections 内的 Python -> Code compatibility inspection 的验证对象设定为多种版本。
开发库时很有作用。
写2.x 系的代码的时候,可以很好的和3.4以上版本的代码一起写。
功能介绍
Search everywhere
按两下 Shift 可以使用搜索。
文件名、symbol、action 等 Project 相关的基本都可以搜索。
不区分模块名和文件名的大小写、下划线。
代码解析
对定义使用Cmd + 单击和快捷键可以跳转。
可以直接跳转到库中,对方法和参数有疑问的时候可以轻松解决。
对函数操作的时候,不特定也会将其中包括的方法在候补栏中表示出来。
ToolWindow 中的 Project 和 Structure的设定可以和 editor 同时设定。
右上的齿轮标记可以选择以下操作。
- Auto Scroll to code
ToolWindow 中选择的文件会在 editor 中表示。 - Auto scroll from code
editor中选择的文件会在 ToolWindow 中表示。
按个人喜好设定就行。
顺便一提,editor 上部会显示出正在处理文件的路径,写路径的时候可以参照。
代码补全
一般情况的代码都可以补全。
而且和 Serarche everywhere 同样,模块名后面一大半都可以补全。
老实说真是很强大。
另外即使不去 import 也可以使用,类、函数名不记得了的时候使用 Alt+Enter 选择候补后会自动写入 import 代码。
出现警告的地方按 Alt+Enter出来的菜单里也有许多功能。
- 单双引号转换
- 根据上下文自动补全,比如:
- import
- 函数、类、参数定义
- 库的安装
- docstring
- test
- 表现形式变更。 tuple -> list 或者 {} -> dict()
TypeHinting
最近随着Python3.5而火起来的 TypeHinting。
PyCharm在几年前通过注释实现TypeHinting的功能,即使不是 Python3.5也可以使用实现代码补全和重构。
没有变量类型的信息也可以通过 TypeHinting 来补全,使得能看到变量类型错误。
TypeHinting 相关的内容,使用 PyCharm 来表示的语法,请参照以下链接。
https://www.jetbrains.com/pycharm/help/type-hinting-in-pycharm.html
连接Database
MySQL 等 RDB 的连接,数据阅览操作都可以在 GUI中完成。
Django/SQL Alchemy
可以Django/SQL Alchemy的 ORM 的补全。
内部实装的参数操作过多,单纯静态代码解析来补全很困难,可以跳转到补全和定义的位置。
Template & HTML & JS
从 View 可以直接移动到 Template,也可以HTML/CSS/JS 的补全。Template 间的依存关系和图片的路径也能很好解析。
TypeScript 和 CoffeeScript的功能也具备, 没写 server site 的客户端PyCharm 也能发挥作用。
Debug
PyCharm 带有 debug 功能,单步执行、端点设置、停止后改变变量、Watch 等,一般 debug 的功能基本都可以做到。
Template 内的 debug 也可以捕捉到,当然也可以单步执行。
Template内的回溯很难看见,处理复杂的 Template 时很有用。
Remote Debug
可以使用 ssh 连接远程 debug。
在调查环境特有的问题时可以发挥作用。
其他还有很多
功能多到说不完,代码补全是最好用的,一开始先用这些基本功能够不用去构建环境是推荐使用 PyCharm 的最大理由。