百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

你都知道哪些 PyCharm 使用技巧?

itomcoil 2025-01-16 19:50 10 浏览

Pycharm作为python常用IDE之一,功能丰富且非常智能,深受大家喜欢,当你掌握之后效率开发效率也相当高。下面就给大家整理了一些Pycharm的快捷键,欢迎点赞、收藏!

1 快速开启新的一行

当你的光标不是处在一行代码的结尾,此时你想换行,一般都是先切换到行尾,再按回车。

其实这两个操作,都可以合并成一个快捷键来完成

那就是:⇧ + Enter,无论你的光标在哪里,都会另起一行,效果如下:

2 使用书签,快速定位

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

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

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

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

Command + F11    打上书签
Shift + F11       展示所有书签

在你要打书签的位置,按下 Command + F11 ,你可以给这个位置加个序号,可以是数字也可以是字母,假如在下面这个位置 加了 1 这个序号,下次你就可以使用 Control + 1 直接跳转到这个位置。

当然你也可以不加,不加的话就是匿名书签了。你可以使用 Shift + F11 展示所有的书签,再进行跳转。

3 显示最近打开过的文件

如果你关掉了一个文件标签页,而后面还想打开。再去项目树中一个一个查找打开是比较麻烦的。

不防试试快捷键: ⌘ + E ,可以直接调出你曾经打开过的文件,甚至可以点击如下按钮选择有修改过的文件。

4 快速移动/拷贝文件:F6/F5

当你要把一个文件拖动到另外一个目录的时候,正常人的操作有两种:

1、直接拖拽过去(个人感觉这种才是最方便的)

2、先剪切,再粘贴

PyCharm 对于这种重构操作,有更方便的入口。

只要按住 F6 就会弹出一个 Move Module 的窗口,直接选目标目录就可以。

除了移动之外 ,拷贝也是可以的。快捷键变成了 F5

5 开启大屏幕编码模式

如果你是使用笔记本来写代码的,那你一定知道,小屏幕写代码的体验可真是太糟糕了。

在这里给你介绍两个小技巧,让你在小屏幕下也能轻松编码。

第一个技巧

使用快捷键:⌃ + ⌘ + F, 就可以开启全屏模式。

再按一次快捷键,又可以切换回普通 模式(总之就是可以来回切换)。

第二个技巧

如果你的 PyCharm 开启了太多的工具栏,左边,右边,下边,大部分的空间都被工具栏占用了。(如下图)

此时你可以使用快捷键:⌘ + ⇧ + F12,将这些工具栏全部隐藏掉,隐藏掉后再按一次,原来的界面就又回来了。

6 跳转到上/下一个方法

PyCharm 原生跳转到上/下一个方法的快捷键是

  • ^ + ↑ :跳转到上一个方法
  • ^ + ↓ :跳转到下一个方法

但是这组快捷键在 Mac 上跟系统快捷键冲突了。

因此 我将其改成

  • ^ + ⇧ + ↑ :跳转到上一个方法
  • ^ + ⇧ + ↓ :跳转到下一个方法

7 智能补全,忽略大小写

智能搜索补全,是IDE的最吸引人的功能之一。

当你的对象是以大写字母开头时,而你使用小写字母编写代码时,是不能查找到该函数的,你必须得先切换成大写再输入一遍

如何避免这种尴尬的情况?只要在配置中关闭大小写匹配即可。

效果如下:

8 代码封装,一步到位

当一个主函数的代码行数越来越多时,代码的可读性会变得越来越差。通常的做法,是按照功能将代码进行封装成多个函数。

这个过程无非是

  • 在合适的位置定义一个新的函数
  • 将原有的代码拷贝至该函数中
  • 并将原的代码替换成该函数的调用

倘若你的重构的工作量不是很大,完全可以手工来完成这些事。

但当你是在重构一个项目代码时,你可能需要一个更高效的封装技巧。

在 PyCharm 中,提供了多种形式的代码重构快捷方法,大家比较常见的可能是重构变量名:shift+F6,而今天要给大家介绍的是方法的重构,也即代码快速封装的技巧。

假如,我现在有如下一段代码,红框标出的代码放在主函数中,有些不太合适,况且这段代码不能让人一眼就看出它是在做什么事情。如何将其进行封装,对我们理清整个主程序的逻辑会有帮助。

选中你要封装的代码,然后按住Ctrl+Alt+M后,会跳出如下界面,根据自己的需要,修改函数名,选择参数和返回值

一切就绪点击OK,PyCharm 会自动在合适的位置为你定义一个函数名,并将你选中的代码放到里面,其中参数名和返回值也都是按照你的要求,效果如下:

9 代码模板,效率编码

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

按照上图模板,生成的效果如下。

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

当你在键盘中敲入 Command + J 时,就可以调出一个面板,从下图可以看出里面有许多预设的模板。

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

这里再举个例子,for 循环 可以这样写。

10 一键进行代码性能分析

在 Python 中有许多模块可以帮助你分析并找出你的项目中哪里出现了性能问题。

比如,常用的模块有 cProfile,在某些框架中,也内置了中间件帮助你进行性能分析,比如 Django ,WSGI。

做为Python 的第一 IDE, PyCharm 本身就支持了这项功能。而且使用非常方便,小白。

假设现在要分析如下这段代码的性能损耗情况,找出到底哪个函数耗时最多

import time

def fun1():
    time.sleep(1)

def fun2():
    time.sleep(1)

def fun3():
    time.sleep(2)

def fun4():
    time.sleep(1)

def fun5():
    time.sleep(1)
    fun4()

fun1()
fun2()
fun3()
fun5()

点击 Run -> Profile '程序' ,即可进行性能分析。

运行完毕后,会自动跳出一个性能统计界面。

性能统计界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列组成一个表格,见下图。

  1. 表头Name显示被调用的模块或者函数;Call Count显示被调用的次数;Time(ms)显示运行时间和时间百分比,时间单位为毫秒(ms)。
  2. 点击表头上的小三角可以升序或降序排列表格。
  3. 在Name这一个列中双击某一行可以跳转到对应的代码。
  4. 以fun4这一行举例:fun4被调用了一次,运行时间为1000ms,占整个运行时间的16.7%

点击 Call Graph(调用关系图)界面直观展示了各函数直接的调用关系、运行时间和时间百分比,见下图。

左上角的4个按钮表示放大、缩小、真实大小、合适大小;

  1. 箭头表示调用关系,由调用者指向被调用者;
  2. 矩形的左上角显示模块或者函数的名称,右上角显示被调用的次数;
  3. 矩形中间显示运行时间和时间百分比;
  4. 矩形的颜色表示运行时间或者时间百分比大小的趋势:红色 > 黄绿色 > 绿色,由图可以看出fun3的矩形为黄绿色,fun1为绿色,所有fun3运行时间比fun1长。
  5. 从图中可以看出Test.py直接调用了fun3、fun1、fun2和fun5函数;fun5函数直接调用了fun4函数;fun1、fun2、fun3、fun4和fun5都直接调用了print以及sleep函数;整个测试代码运行的总时间为6006ms,其中fun3的运行时间为1999ms,所占的时间百分比为33.3%,也就是 1999ms / 6006ms = 33.3%。

11 指定参数执行脚本

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

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

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

python main.py init --local

对于刚使用 Pycharm 的同学,可能并不知道 Pycharm 也是可以指定参数的。点击下图位置

进入设置面板,在 Script parameters 中填入参数即可。

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

12 代码格式化,规范代码

在我们刚开始写代码的时候,难免会出现代码写得不规范的问题,虽然说并不影响运行,但是可读性比较低,尤其是当你去读一个比较长且不规范的代码的时候,你就会体会其中痛苦。比如这种不规范的写法,中间时不时地给你来几个空格。

这个问题其实很好解决,我们只要在写完代码之后,找到菜单栏的“Code”,点击一下“Reformat Code”就能自动地将代码进行规范化处理。

13 快速查找变量、函数等等

当我们的代码比较长的时候,如果是从头到尾去滑动来查找某个变量或者函数就很麻烦,这个时候我们就需要用到快捷键 Ctrl+f 来进行快速查找。比如说我想在贪吃蛇这个项目里面去查找一下“runGame”这个函数是在哪里用到的,那么我们就只需要用 Ctrl+f 调出小窗口,然后输入关键字“runGame”就能查到代码中“runGame”出现的所有位置。

14 快速隐藏项目树

当你使用笔记本的小屏幕写代码时,左边的项目树就会显示特别的占空间。

通常人都会手动操起鼠标,去点击最左边的按钮或者点那个最小化的按钮。就像这样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(
img-AIv0OIDL-1632901868761)(
https://pic4.zhimg.com/50/v2-23ddb679233df77496e90d32ec25cdd9_720w.jpg?source=1940ef5c)]

但是其实还有其他更好的方法,双击标签页,就可以把它隐藏起来。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(
img-OHZRZrui-1632901868762)(
https://pica.zhimg.com/50/v2-86d5aec802e0c1aaad021664176f18d5_720w.jpg?source=1940ef5c)]

15 快速修改同一个变量或类

在写代码中时我们经常要定义很多变量或类,变量或类在写代码时可能会在多个地方被使用,那如果我们需要把代码里的某一个变量或类全部修改,那么我们是一处一处去修改吗?当然不需要,我们只需要选中需要重新命名的变量或类,右键弹出选项中选择Refactor,然后点击Rename,就可以进行全局修改了。比如说我想把代码中的所有"n"变量都改成“i”,那么操作如下:

16调试

写代码的时候我们很容易会报错,但有时候报错我们自己在明面上也是很难看出问题的,那么这个时候我们就需要调试了,这也是开发过程中常用的一个技巧。怎么调试?在你觉得可能会出错的那行代码左边单击一下就会出现一个红点,我们称之为断点,只要程序运行到断点的位置就会自动停下来。设置完断点之后,我们右键选择“Debug 项目名”来进行运行,然后到了运行界面,我们一步一步走,同时可以看出里面的一些变量的值的变化情况。

调试也有比较多的门道,具体的调试技巧大家可以去网上搜索一下,我就不在这里过多解释了。

相关推荐

MySql安装与使用

介绍mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件...

使用AI来搭建一个用户系统,步骤应该是怎样的呢?

我给AI的第一个问题是这样的:创建一个java21+springboot3.4+mysql21的一个用户系统,需要使用JWT,支持多语言,使用swagger,这个用户系统都应该包含哪...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用MySQL进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在MySQL...

Mysql创建用户和权限管理

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么...

Mysql:创建用户详解

1、创建并授权用户--创建可从任何主机连接的用户CREATEUSER'myuser'@'%'IDENTIFIEDBY'mypassword'...

Python 实现【字符匹配】

defis_match(s,pattern):m,n=len(s),len(pattern)dp=[[False]*(n+1)for_inrange...

Python自动化:openpyxl工作簿、工作表相关操作

新建工作簿、工作表importopenpyxl#创建空白工作簿,会自动生成一个工作表:Sheetwb=openpyxl.Workbook()#新建工作表#create_sheet...

python每日一练之三数排序

概述今天主要分享一个三树排序的实例,大家可以自己测试玩一下~需求输入三个整数x,y,z,请把这三个数由小到大输出。方法一:如果是要练练手就随便找个排序算法实现一下#usr/bin/python#...

Python输出语句print()

Python中的输出语句主要通过内置函数print()实现,它可以灵活输出文本、变量、表达式结果等内容到控制台或其他文件。以下是详细介绍及示例:一、print()基本语法print(*object...

Python设置excel表格格式,这3个属性6个模块,要表格好看

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松...

python入门-day5-循环语句

以下是为“Day5:循环语句”设计的详细学习任务计划。这个任务旨在帮助初学者掌握Python中的循环语句(for和while),并通过实践理解它们的应用场景。Day5:循环语句学习目标...

Python基础编程必备!涵盖常见语法与操作的代码示例合集

以下是一份Python基础代码示例合集,涵盖了常见的语法和操作,适合初学者快速掌握基本编程概念:1.基础语法python#打印输出print("Hello,World!")#变...

Python循环语句实用教程

一、循环基础1.while循环基本语法:while条件表达式:循环体代码while循环流程图:应用示例:#简单计数器count=0whilecount<5:...

在 Python 中如何向一个已排序的数组(列表) 中插入一个数呢

在Python中如何向一个已排序的数组(列表)中插入一个数呢?方法有很多种,关键在于原来数组是什么样的排序,用到啥排序方法效率高,就用哪种。我们来练习其中的几种插入方法,另外也掌握下遍历数组的...