PyCharm 高效使用技巧

版权声明:本文为博主([email protected])原创文章,未经博主允许不得转载。 https://blog.csdn.net/z_feng12489/article/details/89493372

注:

  1. 这里的 快捷键 Command 相当于 Windows 下的 Ctrl .

代码排版 自动PEP8

pep8 是Python 语言的一个代码编写规范。如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具 - autopep8

首先在全局环境中(不要在虚拟环境中安装),安装一下这个工具。

sudo pip install autopep8

然后在 Pycharm 里导入这个工具。

Name: AutoPep8
Description: autopep8 your code
Program: autopep8
Arguments: --in-place --aggressive --aggressive $FilePath$
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*

在这里插入图片描述
随意写了一段不符合 pep8 规范的代码。

import os, sys, math

def example():
    some_tuple = (1,2,3,4,5,6,'a')
    some_variables = {
        'long':'Long code lines should be wrapped within 79 characters.',
        'other':{math.pi,100,200,300,987654321,'This is a long string that goes on.'},
        'more':{'inner':'This is a long string should be wrapped.'}
    }
    return some_tuple, some_variables

点击右键,选择 External Tools -> AutoPep8

import os
import sys
import math


def example():
    some_tuple = (1, 2, 3, 4, 5, 6, 'a')
    some_variables = {
        'long': 'Long code lines should be wrapped within 79 characters.',
        'other': {
            math.pi,
            100,
            200,
            300,
            987654321,
            'This is a long string that goes on.'},
        'more': {
            'inner': 'This is a long string should be wrapped.'}}
    return some_tuple, some_variables

你可能会说,Pycharm 本身就自带这个功能了呀,快捷键 Command+Option+L ,就可以实现一键pep8了。你可以对比一下,Pycharm 自带的代码 pep8 化功能 并没有像这个autopep8 来得彻底。 我相信你最终的选择肯定是后者。

误删文件 一秒找回

上周,由于自己的误操作,在没有任何备份的情况下,将一个自己写了两个星期的项目给删除了。待我回头神来的时候,我甚至都记不起是何时进行的删除操作。

做为一名老司机,当然是临危不惧地打开了回收站,进行一番搜寻,几个月没有清理过的回收站,真是一片狼藉,什么 jpg,avi 都有,不堪入目呀。

我用一分钟快速浏览了一下,没有发现我要找的那几个 py 文件,我心想,应该是文件太多了,看叉掉了。由于项目是最近写的,文件名我还清楚地记得,既然有文件名,那就利用windows 自带的搜索功能,结果还是没有,这下我才开始意识到事态的严重性,文件可能真的「没了」。

我已经很久没有清理过回收站了,为什么回收站里会没有我的文件呢?

我想这可能是一次非同寻常的 delete,会不会是在 Pycharm 里的 发起删除操作,不会往回收站里丢呢?经过一番测试,在回收站还真的找不着,但是这次尝试也无意中发现了 Pycharm 的隐藏的一个功能 Local History,它会保存你对文件的所有操作记录。

就拿我的刚刚测试的文件来举例,我先是新建了一个文件,然后对在这个文件里添加了几行代码。最后我将这个文件删除了。

此时你可以在你的项目目录里,点击右键,有个 Local History 的选项,再点击子选项 Show History,你可以看到这里有个记录板。如果你想恢复删除的文件,就在删除的记录项点击右键,选择 Revert 即可恢复。

在这里插入图片描述

拥抱Vim 远离鼠标

在大多数场景之下,使用鼠标的效率和精准度,是远不如键盘快捷键的(前提是你已经相当熟练的掌握了快捷键),这个你得承认吧。

Vi 可以满足你对文本操作的所有需求,比可视化界面更加效率,更加 geek。如果你和我一样,是忠实的 vim 粉。在安装完 Pycharm 完后,肯定会第一时间将 ideaVim 这个插件也装上,它可以让我们在 Pycharm 中 使用 vim 来编辑代码。

pycharm 安装插件的方法主要有两种:

  1. file --> settings --> plugins --> Install JetBrains plugins… --> 搜索要安装的插件,点击安装。
  2. file --> settings --> plugins -->Install plugins from disk… --> 选择下载好的插件安装(格式为.zip)。

我自己使用第二种方法安装了 IdeaVim

下载网址:http://plugins.jetbrains.com/plugin/164-ideavim

在这里插入图片描述

代码模板 效率编码

Pycharm 提供的这个代码模板,可以说是相当实用的一个功能了。它可以在你新建一个文件时,按照你预设的模板给你生成一段内容,比如解释器路径,编码方法,作者详细信息等。

在这里插入图片描述

除了新建文件时可以初始化文件,在开发编写代码时,也同样使用 Pycharm 中自带的实用的代码模板,提高你的编码效率。

当你在键盘中敲入 Command + J([Windows] Ctrl + J) 时,就可以调出一个面板,从下图可以看出里面有许多预设的模板。
在这里插入图片描述

如果我们想选择最后一个 main ,可以继续键入 main,然后就可以直接生成如下这段平时都要手动敲入的代码。

def main():
    pass

if __name__ == '__main__':

这里再举个例子,for 循环 可以这样写。
在这里插入图片描述

items = [1, 2, 3, 4]

for item in items:

使用书签 快速定位

都我在看框架的源代码时,最常使用的是 Command + B (也就是 command + 鼠标左键 )一层一层地往里深入,但是当源代码比较多,可能一整个事件过程涉及十几文件,函数调用错综复杂,对于一个庞大的项目来说,有用的可能就几个关键函数,每次要找到这几个函数,都要重头从源函数再一层一层的找下去,这样实在太麻烦了,我常常因此把自己给看晕了。

直到后来我发现了 Pycharm 这个书签功能。

使用书签功能,我可以在在关键的位置打上书签,想看的时候,调用书签,快速定位即可。

使用它,你需要记住下面下几个快捷键

Command + F11 打上书签
Shift + F11 展示所有书签
F11 删除书签(经测试仅能在Windows上有效)

在你要打书签的位置,按下 Command + F11 ,你可以给这个位置加个序号,可以是数字也可以是字母,假如在下面这个位置 加了 1 这个序号,下次你就可以使用 Control + 1 直接跳转到这个位置。
在这里插入图片描述
当然你也可以不加,不加的话就是匿名书签了。你可以使用 Shift + F11 展示所有的书签,再进行跳转。

指定参数执行脚本

你在 Pycharm 运行你的项目,通常是怎么执行的?我的做法是,右键,然后点击 Run,或者使用快捷键 Shift + F10 。

有时候,在运行/调试脚本的时候,我们需要指定一些参数,这在命令行中,直接指定即可。

假设在命令行中,运行脚本的命令是这样

python main.py init --local

对于刚使用 Pycharm 的同学,可能并不知道 Pycharm 也是可以指定参数的。点击下图位置
在这里插入图片描述
在这里插入图片描述

同时在上图的底部,你可以看到,这里可以很方便的切换 解释器,比你跑到这边来要容易得多吧。

关闭烦人的灯泡提示

这个灯泡提示是什么,有什么用?

当我们在代码里面有语法错误,或者代码编写不符合 pep8 代码规范时,鼠标选择有问题的代码,就会自动弹出小灯泡,这个灯泡是有颜色之分的,如果是红灯泡,一般都是语法问题,如果不处理会影响代码运行。而如果是黄灯泡,就只是一个提示,提示你代码不规范等,并不会影响程序的运行。

虽然这个灯泡,是出于善意之举,但我认为它确实有点多余(可能是我个人没有使用它的习惯),要是语法错误会有红色波浪线提示。你可能会说灯泡不仅起到提示的作用,它还可以自动纠正代码,我个人感觉并没有人工校正来得效率,来得精准。

基于有时还会像知乎上这个朋友说的这样,会挡住我们的代码,会经常误点,这确实也是一个烦恼。

我研究了下,Pycharm (2019版本)里是有开关按钮的,将下图中的这个选项(Show intention bulb)取消勾选,就可以关闭这个功能。
在这里插入图片描述

关闭碍眼的波浪线

下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 zhefeng 会有波浪线呢?

在这里插入图片描述
Pycharm 本身会实时地对变量名进行检查,如果变量名不是一个已存在的英文单词,就会出现一条波浪线,当一个变量里有多个单词时,Python 推荐的写法是用下划线来分隔(其他语言可能会习惯使用驼峰式命名法 ,但 Python 是使用下划线),所以在 Pycharm 看来 my_name 是规范的,而 myname 会被当成是一个单词对待,由于它在单词库里并没有它,所以 myname 是不规范的。

每个人的变量命名习惯不一样,如何你在项目里大量使用了 myname 这种风格的变量命名方法,,是让人挺不舒服的,总有一种代码有 bug 的错觉。

那么如何关闭这个非语法级别的波浪线呢?很简单,它的开关就在你的右下角那个像 人头像 一样的按钮。

在这里插入图片描述
然后选择 Syntax 级别的即可。同样一段代码,效果如下,干净了很多。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/z_feng12489/article/details/89493372