Pycharm使用技巧(转载)-程序员宅基地

技术标签: python  运维  开发工具  

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这些功能不受影响

 

 

f

转载于:https://www.cnblogs.com/lyhabc/p/6369325.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dingshen2767/article/details/102303782

智能推荐

HTML中表格标签_html中关于表格所有的标签-程序员宅基地

文章浏览阅读211次。<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>表格</title> <style> table{/*为页面中所有table标签添加样式*/ border: black 1px solid; width: 800px;/*设置表格宽度*/ margin: 0 auto;/*设置表格水平居中*/ bord_html中关于表格所有的标签

Kerberos技术实践V1.0_kerberos_patch 1.0-程序员宅基地

文章浏览阅读680次。Kerberos技术实践_kerberos_patch 1.0

SolrQuery实现高亮显示_sql query highlighting-程序员宅基地

文章浏览阅读515次。@Test public void testHighLightingQuery() throws SolrServerException, IOException{ // 初始化solrj服务 HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr/c..._sql query highlighting

后台窗口截图_这些电脑截图、录屏和GIF软件都是你需要的!-程序员宅基地

文章浏览阅读542次。微信扫码观看全套Excel、Word、PPT视频作者:徐少寒来源:徐少寒(id:ixushaohan)截图、录屏和制作GIF是每一位职场办公人员必备的基础技能,因此,今天小编给大家科普六款工具大大提高你的工作效率。1截图工具日常用的截图除了QQ截图、桌面版微信截图、浏览器自带的截图功能外,相信还有不少人没有用过Snipaste和FSCapture。▍SnipasteSnipaste..._电脑后台截屏软件

Visual Stdio2015安装Math.NET Numerics库_vs2015 mathnet-程序员宅基地

文章浏览阅读889次。Visual Stdio2015安装Math.NET Numerics库NuGet Tools安装Math.NET Numerics安装常见错误NuGet Tools安装在VS中选择工具—>扩展和更新—>联机—搜索nuget—>下载Math.NET Numerics安装在 Visual Studio 2015 中,打开 Tools -> Nuget Package..._vs2015 mathnet

软考可以不考初级直接考中级吗?_软考可以直接考中级吗-程序员宅基地

文章浏览阅读1.5k次。软考可以直接考中级吗,很多人以为软考必须考完初级才能考中级,其实软考是可以直接考中级的呢,也是可以直接报名高级考试的,这个划重点 !!_软考可以直接考中级吗

随便推点

MyEclipse莫名其妙打不开*.xml文件-程序员宅基地

文章浏览阅读3.9k次。今天要打开struts.xml文件时莫名其妙报错,试了几种方法都没用:后来用了一下方式打开:鼠标放在待打开xml文件,点击右键,然后选择open with。。。选择MyEclipse Struts2 configeditor即可!

java打印乘法口诀_java从键盘输入一个1到之间的数,如若输入6则打印六六乘法表-程序员宅基地

文章浏览阅读547次。一直以为打印乘法口诀要用两个for循环,今天发现用一个for循环就能达到同样的效果,java代码如下://打印乘法口诀public class multiTable { //主函数 public static void main(String[] args) { // 一个for循环,两个参数实现了循环的嵌套效果 for (int i = 1, j = 1; j <= 9;_java从键盘输入一个1到之间的数,如若输入6则打印六六乘法表

TIME_WAIT数量过多--请求无响应_大量time_wait,导致resin 请求进不-程序员宅基地

文章浏览阅读2k次。本文转自:https://www.cnblogs.com/Jtianlin/p/4339931.htmlhttp://www.cnblogs.com/Rosanna/p/3446557.html使文件立刻生效命令:/sbin/sysctl -p/proc/sys目录下存放着大多数内核参数,并且可以在系统运行时进行更改,不过重新启动机器就会失效。/etc/sysctl.conf是一个允许..._大量time_wait,导致resin 请求进不

springboot+vue项目部署服务器(看了就会,不会拉黑我)_springboot vue 不安装nginx-程序员宅基地

文章浏览阅读1.2w次,点赞12次,收藏77次。springboot后端部署1.前提条件​ 可执行的springboot源码文件,Linux服务器,写好的vue前端项目2.执行步骤​ a. 打开springboot项目中的配置文件application.yaml​ b.配置服务器端口号​ c.将springboot后端项目打包d.在springboot文件中找到刚才对应的jar包e.使用xshell上传到本地服务器(在想要存放对应文件目录中使用rz或者直接拖动文件复制到Linux的当前文件夹下)后端传输完毕VUE的前端部署_springboot vue 不安装nginx

手撕代码之其他类型_手撕代码类型的网名-程序员宅基地

文章浏览阅读333次。文章目录一、根据rand7生成rand10(leetcode 470)二、快速幂(leetcode 50)一、根据rand7生成rand10(leetcode 470)思路:先根据rand7等概率生成rand49【(rand7() - 1) * 7 + (rand7() - 1)】,再生出rand40,最后生成rand10。class Solution {public: // 先..._手撕代码类型的网名

iframe(2) --- 动态设置iframe高度_react hook 动态设置iframe的高-程序员宅基地

文章浏览阅读8.7k次。iframe 动态设置iframe高度_react hook 动态设置iframe的高