Pycharm使用技巧(转载)

转载自:http://www.cnblogs.com/cloudtj/articles/5980666.html

pycharm使用技巧

https://python.freelycode.com/contribution/detail/29
https://python.freelycode.com/contribution/detail/30
https://python.freelycode.com/contribution/detail/31

-----------------------------------------------------------------------------

破解

破解注册码:http://idea.lanyus.com/

https://www.cnblogs.com/mosson/p/10248395.html

f

-----------------------------------------------------------------------------

0.先安装python解释器
Linux不需要安装,默认自带,Windows需要安装,当前最新版本是2.7和3.6
下载地址:https://www.python.org/downloads/windows/

https://www.python.org/downloads/release/python-2713/

默认安装位置:C:\Python27\

记得把环境变量勾选上

--------------------------------------------------------------------------------------------------------

1.在Pycharm下为你的Python项目配置Python解释器

View-》Toolbar和Tool Buttons


Project:当前项目名>Project Interpreter>add Local

或者

file->setting

Project :pyproject1-》Project Interpreter

如果当前电脑安装了3.6和2.7两个python,如果项目是用3.6来编写的,就要选择3.6作为解析器

----------------------------------------------------------------------------------------------------
2.在Pycharm下创建Python文件、Python模块
File>New>Python File
File>New>Python Package

-----------------------------------------------------------------------------------------------
3.使用Pycharm安装Python第三方模块
Project:当前项目名>Project Interpreter>点击右侧绿色小加号

PyPI - the Python Package Index --python包索引
pip install

第三方模块安装位置:C:\Python27\Lib\site-packages

Linux:

/usr/lib/python2.6/site-packages
/usr/lib64/python2.6/site-packages/

alt+enter自动安装第三方包

搜索并安装第三方模块

选择模块的版本

仓库来源,实际连接的是:https://pypi.python.org/simple/

从网上下载,电脑必须能上网

安装位置:C:\Python27\Lib\site-packages

---------------------------------------------------------------------------------------------------

4.Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。

不使用tab、tab=4空格:Editor -> Code Style -> Python
缩进四个空格,不管在哪个操作系统,哪个IDE都不会有问题,tab可能在其他操作系统缩进会有问题,tab在python3会报错,在python2不会报错

use tab character和smart tabs的勾去掉,然后下面是4 ,4, 8


字体、字体颜色:

Appearance & Behavior ->Appearance-> Theme : Darcula

Editor -> Colors & Fonts ->Font
Primary font:Courier New ,Size:14

关闭自动更新:Appearance & Behavior  ->System Settings ->Updates

脚本头设置:Editor ->File and Code Templates ->Python Script 注:其他类似

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author : huazai
# @Time : ${DATE} ${TIME}
# @File : ${NAME}.py
# @Description :

显示行号:Editor -> General  -> Appearance -> Show line numbers  注:2016.2默认显示行号


右侧竖线是PEP8的代码规范,提示一行不要超过120个字符

导出、导入你自定义的配置: File -> Export Settings、Import Settings

-------------------------------------------------------------------------------------------------------------
5.常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。

常用快捷键的查询和配置:Keymap
Ctrl + J:插入常用代码(列表重写、元组重写、集合重写、字典重写、if __name__ == '__main__':)
Ctrl + D:Ctrl + C和Ctrl + V的合体
Ctrl + C:复制当前行
Ctrl + X:剪切当前行
Shift + Enter:快速换行
Ctrl + /:快速注释(选中多行后可以批量注释)
Ctrl + F:查找当前文件的内容
Ctrl+Shift+F:查找整个项目的内容
Shift+Shift:查找所有python代码,所有内置库和第三方库和自己的项目
Ctrl + R:替换
Ctrl + Alt +L:格式化代码
Ctrl+Enter 补全
Alt+Enter 自动添加包
Ctrl+t SVN更新
Ctrl+k SVN提交
Tab:缩进当前行(选中多行后可以批量缩进)
Shift + Tab:取消缩进(选中多行后可以批量取消缩进)

调试
F7:进入调用函数
F8:下一步
F9:恢复程度,退出调试模式

代码行实时显示信息

keymap更改快捷键

格式化

将QQ的锁定QQ改为ctrl+alt+home

在pycharm里面按ctrl+a 选中全部代码

ctrl+alt+l

执行选中代码

垂直/水平拆分窗口

--------------------------------------------------------------------------------------------------------------------
6.Pycharm安装插件,例如Markdown support、数据库支持插件等。
Plugins -> Browse repositories -> 搜索‘markdown support’ -> install
右上角View有三个选项可选,一般我们都用中间那个左侧编写,右侧实时预览

-----------------------------------------------------------------------------------------------------
7.版本控制

支持本地版本管理和版本管理系统,VCS:version control system

查看修改记录,回滚记录, Local History能够查看文件修改前后的对比

集成svn

-----------------------------------------------------------------------------------------------------------------

8.常用操作指南。例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。
复制文件路径:左侧文件列表右键选中的文件  -> Copy Path
在文件管理器中打开:右键选中的文件  -> 往下找到Show In Explorer


快速定位:按住Ctrl +鼠标左键点击 ,点击在源文件中展开类,函数,方法等的定义
查看结构:IDE左侧边栏Structure 查看当前项目的结构
tab批量换space:Edit  ->  Convert Indents

TODO的使用:# TODO 要记录的事情
Debug设置断点,直接点击行号与代码之间的空白处即可设置断点
Tab页上右键 -> Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比


IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支
IDE右侧边栏  ->  Database

--------------------------------------------------------------------------------------
9.去掉烦人的波浪线
单独一行的注释:#+1空格+注释内容
代码后跟着的注释:2空格+#+1空格+注释内容
保持良好的统一的编程风格是十分重要的。
Google上面有很多关于各种语言的编程规范指导,Python也有自己的一些编程规范,
PyCharm也会按一定的规范(比如PEP8)来检查编辑器中的代码。
这里的编程风格有代码编写格式层面的也有代码逻辑组织层面的。
https://github.com/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_language_rules.rst
https://github.com/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_style_rules.rst

黄色波浪色不合规范

绿色波浪线符合规范

----------------------------------------------------------------------------------------
10.SSH Terminal: Default encoding:UTF8
Settings   ->   Tools   ->   SSH Terminal    ->   最后一行Default encoding:选择UTF-8


10.给脚本传入参数

edit configuration-》script parameters  输入参数

参数之间用空格 隔开

如果不用pycharm,那么在cmd下要自己输入参数


11.安装插件

settings-》plugins-》browser repositorys

f

f

f

管理mongodb的插件


12.代码测试

Pycharm支持代码测试,你可以:
创建测试代码
自定义测试参数或配置
运行测试代码
导出测试结果

Pycharm支持所有主流的Python测试框架:
Unittest
Doctest
Nosetest
py.test

首先在settings|Tools|Python Integrated Tools中选择default testsrunner 为unittest,如下图所示:

然后在我们前面的Car.py文件的Car类的代码处,右键选择Go To,再选择Test(或者直接Ctrl+Shift+T),如下图所示:

这样会弹出一个选择窗口:

选择create New Test,再选择test_accelerate和test_brake,点击Ok,如下所示:

Pycharm会自动生成一个新的名为test_car.py的测试脚本,如下图 所示:

如果运行该脚本Run ‘Unittest in test_car’,默认会得到失败的结果,如下图:

如何编写单元测试,不是本文的内容,我们假设已经有了下面的测试代码:

import unittest

from Car import Car

class TestCar(unittest.TestCase):
def setUp(self):
self.car = Car() class TestInit(TestCar):
def test_initial_speed(self):
self.assertEqual(self.car.speed, 0) def test_initial_odometer(self):
self.assertEqual(self.car.odometer, 0) def test_initial_time(self):
self.assertEqual(self.car.time, 0) class TestAccelerate(TestCar):
def test_accelerate_from_zero(self):
self.car.accelerate()
self.assertEqual(self.car.speed, 5) def test_multiple_accelerates(self):
for _ in range(3):
self.car.accelerate()
self.assertEqual(self.car.speed, 15) class TestBrake(TestCar):
def test_brake_once(self):
self.car.accelerate()
self.car.brake()
self.assertEqual(self.car.speed, 0) def test_multiple_brakes(self):
for _ in range(5):
self.car.accelerate()
for _ in range(3):
self.car.brake()
self.assertEqual(self.car.speed, 10) def test_should_not_allow_negative_speed(self):
self.car.brake()
self.assertEqual(self.car.speed, 0) def test_multiple_brakes_at_zero(self):
for _ in range(3):
self.car.brake()
self.assertEqual(self.car.speed, 0)

现在,在脚本的最顶处,右键运行测试程序,可以看到有一些测试通过了:

Pycharm可以自动运行测试代码,你只需要做两件事:
点击运行工具栏中的Toggle(绿色三角箭头下的第二个,两个灰框,有循环箭头的图标),激活自动测试功能
点击工具栏中的蓝色齿轮图标,选择Set Autotest Delay,然后选择延迟时间。
这样,每当你对代码修改后,在规定的延迟时间后,都会自动运行测试代码,如下图所示:

pycharm测试工具

C:\Program Files\JetBrains\PyCharm 2017.2.4\helpers\pycharm\_jb_unittest_runner.py


示例

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#__author__ = "huazai"
"""
pycharm使用指南
Date:2016.08.12
""" def test(num)
"""
test function
"""
for i in range(num): #代码后面的注释
j=i+1
if j%2 ==0
print j
#单独一行注释
else:
print "The end" if __name__=="__main__":
test(10)

远程同步代码到服务器

有两种方法

1、在新建project的时候,选择远程python解释器,选择好远程python解释器之后会弹出设置同步代码路径的界面
2、已经建好project,选择远程python解释器和远程部署设置

两种方法都会在本地保留代码,也就是本地一份代码,远程一份代码
两种方法都要选择本地项目文件夹的位置

第一种方法

第二种方法

添加远程py解释器

SSH地址

python interpreter path这个选项不需要改

添加成功之后

添加SFTP远程同步

添加SFTP,选择SFTP

设置SFTP连接,跟刚才设置SSH一样,输入服务器IP,用户名,密码

root path不需要改

设置映射

local path不需要改,默认显示本项目所在本地路径

deployment path on server 'sftp连接名':设置代码同步到服务器的哪个目录路径下,如果没有该路径则创建

web path on server  'sftp连接名':不需要改

实际上映射路径是: connecttion选项卡里的root path + mappings选项卡里的deployment path on server 'sftp连接名'
如果设置了connecttion选项卡里的root path 是/data/, mappings选项卡里的deployment path on server 'sftp连接名'是/data/
那么两个选项卡加起来就会报错,变成/data/data/ ,实际上用户要的是/data,那么connecttion选项卡里的root path 不用改它,保持/根分区
mappings选项卡里的deployment path on server 'sftp连接名'里写/data, ,表示/data是在connecttion选项卡里的root path 的路径下的也就是根分区路径下

设置代码同步选项

总是自动上传已修改的文件

上传外部文件


project

打开文件夹名就是project名,所以文件夹名要起好

pycharm只有project概念,没有solution概念
一个project下面可以有多个content root,content root就是一个文件夹,一个content root一般有一个main.py,
main.py里面有if __name__ == '__main__':
如果一个文件夹不是content root,那么无法加载__init__.py文件

http://www.jetbrains.com/help/pycharm/2017.1/content-root.html
http://www.jetbrains.com/help/pycharm/2017.1/configuring-content-roots.html

一个project下面可以有多个module,module就是一个文件夹,module不需要main.py

1、加多个content root(不建议使用这种)

整个project 只有一个module,这个module有两个content root

f

f

f

f

f

2、加多个module(建议使用这种)

整个project 有两个module,每个module是单独一个content root

f

f

f

f

f

f

f

3、新建project时候,直接在文件夹根目录导入

这种方法不可行

f

f

f

f

如果是新建项目

1、先建一个项目文件夹

2、选择:create new project,然后选中新建的文件夹

3、选择pure python项目,然后创建

4、content root就是school项目本身

f

5、然后在项目文件夹下新建文件,模块文件夹等

f

6、加入其它module

f

新建项目的时候

f

打开项目文件夹的时候

f

python包

f

因为content root的关系,我们不能把项目根目录文件夹作为base directory,只能把根目录里面的某个module作为base directory,
所以无论是新建项目,还是打开一个项目,都只能
1、在新建时候选择项目根目录里的某个module来新建一个项目
2、打开时候,也是只能打开项目根目录里的某个module

而项目名称就是根目录里的某个module的文件夹名称作为项目名称

f


pycharm里html注释是{# #}而不是<!-- -->?
https://www.cnblogs.com/shengulong/p/8401853.html

结论:无法注释html


kite 增强pycharm自动完成功能

集成AI 机器学习,加速开发者开发速度

https://kite.com/


打开多个pycharm实例

pycharm进程至此至终只有一个exe,在任务管理器里看

new window

File -> open…选择最近打开过的项目

弹窗提示 就选 New Window

两个pycharm窗口完全独立,svn这些功能不受影响


https://blog.csdn.net/qq_39148947/article/details/82594824
pycharm Unresolved attribute reference 'objects' for class 问题

这是编译器的问题,一般不影响代码的顺利执行,就不用管它

f

Pycharm使用技巧(转载)的更多相关文章

  1. 你有哪些想要分享的 PyCharm 使用技巧?

    作者:Light Lin链接:https://www.zhihu.com/question/37787004/answer/75269463来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  2. 每周分享五个 PyCharm 使用技巧(二)

    这是 「PyCharm 技巧分享」系列的第二篇分享.由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可. 先声明下,并不保证对所有的人都是有帮助的, ...

  3. 每周分享五个 PyCharm 使用技巧(一)

    PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带 ...

  4. pycharm使用技巧 + 调试程序-12

    Pycharm使用技巧 系出名门:JetBrains 集成开发环境:IDE 功能: Project视图.代码结构视图 代码导航 语法高亮.自动补齐.错误提示.自动修复 代码重构 主流开发框架的支持(D ...

  5. 每周分享五个 PyCharm 使用技巧(六)

    大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从今年3月24号开始一直到今天,将近四个月的时间.包括本篇,一共更新了6篇文章,每篇 5 个小技巧,总计 30 个. 这30个使用技巧,全部 ...

  6. 每周分享五个 PyCharm 使用技巧(四)

    文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...

  7. 每周分享五个 PyCharm 使用技巧(三)

    文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...

  8. PyCharm常用技巧集合

    PyCharm常用技巧集合 一.添加或者修改文件模板 File>settings>Editor>File and Code Templates>Python Script 你可 ...

  9. 后端开发使用pycharm的技巧

    后端开发使用pycharm的技巧 目录 后端开发使用pycharm的技巧 1.使用说明 2.database 3.HTTP Client 1.使用说明 首先说明,本文所使用的功能为pycharm专业版 ...

随机推荐

  1. 交叉编译 tcpdump

    目录 1. 下载 tcpdump 2. 交叉编译 3. 相关说明 1. 下载 tcpdump 官网:http://www.tcpdump.org/ 2. 交叉编译 交叉编译libpcap: $ wge ...

  2. C#中为什么会出现空静态构造方法的写法

    再过几个小时,就要回家过春节了,今天说些简单点的东西,大家在看C#代码的时候,一定会对这样的写法非常迷茫:在一个类中会出现一个空的静态构造方法.这不是多此一举吗,这样做的目的是什么?今天我就来说说这个 ...

  3. 【机器学习】--线性回归中L1正则和L2正则

    一.前述 L1正则,L2正则的出现原因是为了推广模型的泛化能力.相当于一个惩罚系数. 二.原理 L1正则:Lasso Regression L2正则:Ridge Regression 总结: 经验值 ...

  4. ActionMQ集群部署

    ActiveMQ集群部署 一.应用场景 消息中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件.目 ...

  5. plsql中的procedure和function编程

    procedure:存储过程 eg:   create or replace procedure p   --这儿是和plsql的区别         is         cursor c      ...

  6. Java IO模型

    Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符).而对一个Socket的读写也会有相应的描述 ...

  7. Chapter 5 Blood Type——4

    "Does he mean you?" Jessica asked with insulting astonishment in her voice. “他对你有意思吗?”Jess ...

  8. 精读《react-easy-state 源码》

    1. 引言 react-easy-state 是个比较有趣的库,利用 Proxy 创建了一个非常易用的全局数据流管理方式. import React from "react"; i ...

  9. RabbitMQ消息队列(七)-通过fanout模式将消息推送到多个Queue中(.Net Core版)

    前面第六章我们使用的是direct直连模式来进行消息投递和分发.本章将介绍如何使用fanout模式将消息推送到多个队列. 有时我们会遇到这样的情况,多个功能模块都希望得到完整的消息数据.例如一个log ...

  10. leetcode — valid-palindrome

    /** * Source : https://oj.leetcode.com/problems/valid-palindrome/ * * * Given a string, determine if ...