PyCharm中如何自定义模板?

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

PyCharm中如何自定义模板?

  • 摘要
  • 问题
  • 解决
    • 打开设置窗口
    • 代码文件模板
    • 实时模板(语句模板)
    • 使用
  • 结语

摘要

全文介绍 PyCharm 编辑器中,文件类型模板和实时模板的自定义功能。是做课题、做练习、做项目经常要用到的。是一个实用功能的介绍。后续陆续发布、敬请关注。【原创】 大侠Ahcao https://blog.csdn.net/Ahcao2008/

问题

在编程过程中,例如做课题、做练习、做项目等,经常要用到一些常用代码,例如,注释块、import 语句群,__main__函数,等等。每次都敲这些代码、或者用复制粘贴是很繁琐的。
这里介绍,如何在PyCharm中,进行模板的自定义。
模板的自定义,包括文件类型模板的自定义(如 .py 文件),常用 python 语句(也就是所谓实时模板)的自定义。
自定义的作用:一是适当提高编写代码的效率;二是减少出错,做到语句统一、规范、美观。

解决

打开设置窗口

图1、设置窗口打开
PyCharm中如何自定义模板?_第1张图片

打开设置窗口,至少有以下三种方法,择其一即可:
1、在菜单栏打开(见图1的 ⑴和⑵)
2、右上角设置的工具栏小按钮(见图1的 ⑶和⑷)
3、按快捷键 Ctrl + Alt + S (这个取决于你的计算机上的热键定义是否与其它有冲突)

另外,请准备好,你准备想往模板里面加入什么样的一些内容(见图1的⑸)?
一般的建议内容有:

1、编辑标识、Coding代码
2、注释块
3、import 模块群
4、常用类体、函数体
5、main() 函数
下面会有详细的讲解。

代码文件模板

图2、文件和代码模板
PyCharm中如何自定义模板?_第2张图片
在打开的设置模板中,找到文件和代码模板。(见图2的 ⑴和⑵)

说明:PyCharm的设置面板内容非常丰富和庞大,要善于使用左上角的搜索功能。

你可以选择Python Script 标题名称,或者,点击上方的+号,再新建名称。(见图2的 ⑶)
当然,熟练之后,你可以定义其它类型的代码,例如 HTML、XML等等。
然后,你可以将前面准备好的常用代码,进行粘贴(见图2的 ⑷)。
最后,点击应用,就可以使用了(见图2的 ⑸)。
我这里给出了一些示例,这是适合我的,你可以很容易照搬,改成你自己的。

# !/usr/bin/env python
# coding:utf-8
"""
    〖作者〗大侠,AhcaoZhu
    〖CSDN-ID〗Ahcao2008, https://blog.csdn.net/Ahcao2008
    〖项目〗大侠软件 ahApp
    〖日期〗2023-3-5
    〖功能〗本 Lib 模块集成一些常用的功能,用于过程开发。将来可用于 系统集成 中的 utils 模块。
"""
from zjgLib import *
from inspect import *


def main():
    pass


if __name__ == "__main__":
    main()

以上各部分的作用解释如下:
(对于初入门的读者,可以跳过这部分,只需要先学会如何操作即可。)
第1句,通常用于跨平台的编辑系统,例如unix
第2句,一般指定本模块编程代码集。utf-8 也是缺省的。不过显式指定还是有好处。
第3-9句,这里给出典型的三双引号风格的注释。它将来会出现在你发行模块(__module__)的__doc__文档中,所以会显得很专业、很规范。
接下来,是 import 语句群。引入你做当前课题/项目时经常用的。
然后,可以是类、函数的通常体形式,上面省略了,没有给出。例如:

class myClass(object):
    _key: typing.Any
    
    def __init__(self):
        pass
    
    @property
    def key(self):
        """key : 键值。"""
        return self._key

    @key.setter
    def key(self, value):
        self._key = value

    @key.deleter
    def key(self):
        del self._key

    def mymethod(self):
        pass
    
    @staticmethod
    def mysmethod():
        pass
        
    @classmethod 
    def mycmethod(cls):
        pass

上面给出了一个类的通常体的形式,比较全面,有类名、继承,有私有变量、属性定义,有类的构造函数,静态函数、类函数、实例函数函数等。当然你还可以 override 一些系统缺省的属性,如,__doc____repr__等。
因为一般用不着,所以没给出。另外,用下面的实时模板,也可以更容易地实现(这将在下面一节演示如何进行)。
在示例模板的最后,给出了__main__全局变量和main()函数。
这个__main__全局变量有什么作用呢?

__main__ — 顶层脚本环境

__main__ 是顶层代码执行的作用域的名称。模块的 __name__ 在通过标准 输入、脚本文件或是交互式命令读入的时候会等于 __main__

模块可以通过检查自己的 __name__ 来得知是否运行在 main 作用域中,这使 得模块可以在作为脚本或是通过 python -m 运行时条件性地执行一些代码, 而在被 import 时不会执行。

   if __name__ == "__main__":
       # execute only if run as a script
       main()

对软件包来说,通过加入 __main__.py 模块可以达到同样的效果,当使用-m 运行模块时,其中的代码会被执行。

实时模板(语句模板)

图3、实时模板(又称语句模板)
PyCharm中如何自定义模板?_第3张图片
实时模板就不过多解释了。按照上图,很容易自行设置。与上述文件模板几乎类似,只是应用场合不同而已。
在上面的文件模板示例中,我给出了类的的示例,这里,比如,我们可增加一个名称为defclass的模板。具体操作:在上图⑶处,添加名称,在⑺处添加代码(上面给出的类的通体代码示例)。

使用

  • 文件模板的使用,是在新建一个代码文件时。
    在项目资源树中(参考图1的左边栏),右键新建一个代码文件时,新建立的代码文件,再不会是空白的、或是系统给我们推荐的,而是我们刚刚自定义的代码文件模板的内容。

  • 即时模板的使用
    在代码窗口,正常写代码时,以上述我们已经定义的类的模板(defclass)为例,我们只要在任意代码处,键入defclass,然后用Tab键,就会跳出一大段的类的定义代码。我们可以把不需要的冗余代码删除掉。

结语

怎么样,看了以上的介绍,对于代码文件模板和即时模板,你 get 到这一技能了吗?

你可能感兴趣的:(菜鸟学python,pycharm,python,ide)