PyCharm文件模板配置的完整指南

 更新时间:2025年07月28日 09:09:39   作者:Yant224  
这篇文章主要介绍了PyCharm文件模板配置的全流程,涵盖模板创建、变量使用(如日期、用户名)、LiveTemplates设置、团队共享及最佳实践,通过统一代码结构提升开发效率,需要的朋友可以参考下

实现创建文件时自动添加自定义模板

一、完整配置流程

1. 打开模板设置

2. 配置全局模板

File and Code Templates 界面:

  • Files 标签页:设置各类文件模板
  • Includes 标签页:创建可复用的模板片段
  • Code 标签页:设置代码片段模板

3. 创建 Python 文件模板

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

"""
${DESCRIPTION}
"""

import os
import sys

def main():
    pass

if __name__ == '__main__':
    main()

4. 添加自定义变量

变量描述示例
${DATE}当前日期2023-07-26
${TIME}当前时间14:30
${USER}系统用户名john
${NAME}文件名(不含扩展名)my_script
${PRODUCT_NAME}PyCharm 产品名PyCharm
${YEAR}当前年份2023
${MONTH}当前月份07
${DAY}当前日期26
${HOUR}当前小时14
${MINUTE}当前分钟30

5. 创建 Django 模型模板

# ${NAME}.py
from django.db import models

class ${ModelName}(models.Model):
    """${Description}"""
    
    # 字段定义
    created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
    
    class Meta:
        verbose_name = '${VerboseName}'
        verbose_name_plural = '${VerboseNamePlural}'
        ordering = ['-created_at']
        
    def __str__(self):
        return f"{self.id}"

# 以下为自动生成的代码

二、高级模板配置

1. 创建模板片段(Includes)

# File Header.py
"""
test includes
"""

2. 使用模板片段

# Python Script
#parse("File Header.py")

import os
import sys

def main():
    pass

if __name__ == '__main__':
    main()

3. 条件模板

#if (${NAME} == "models")
from django.db import models
#else
import os
import sys
#end

4. 自定义变量

#set($ModelName = ${NAME.substring(0,1).toUpperCase()} + ${NAME.substring(1)})
class ${ModelName}(models.Model):
    pass

三、模板示例集

1. Django View 模板

#parse("File Header.py")

from django.views import View
from django.http import JsonResponse

class ${ClassName}(View):
    """${Description}"""
    
    def get(self, request, *args, **kwargs):
        return JsonResponse({'status': 'ok'})
    
    def post(self, request, *args, **kwargs):
        return JsonResponse({'status': 'created'}, status=201)

2. Django Form 模板

#parse("File Header.py")

from django import forms

class ${FormName}(forms.Form):
    """${Description}"""
    
    # 字段示例
    name = forms.CharField(
        max_length=100,
        label='名称',
        widget=forms.TextInput(attrs={'class': 'form-control'})
    )
    
    def clean_name(self):
        # 自定义验证
        name = self.cleaned_data['name']
        if len(name) < 3:
            raise forms.ValidationError("名称太短")
        return name

3. Django ModelAdmin 模板

#parse("File Header.py")

from django.contrib import admin
from .models import ${ModelName}

@admin.register(${ModelName})
class ${ModelName}Admin(admin.ModelAdmin):
    """${Description}"""
    
    list_display = ('id', 'created_at')
    list_filter = ('created_at',)
    search_fields = ('id',)
    date_hierarchy = 'created_at'
    
    fieldsets = (
        (None, {
            'fields': ('created_at', 'updated_at')
        }),
    )

四、自动生成工具

1. 使用 Live Templates

# 创建 Django 模型字段模板
# Abbreviation: df
# Description: Django field
# Template text:
$FIELD_NAME$ = models.$FIELD_TYPE$($PARAMS$)

2. 配置 Live Templates

打开 Settings > Editor > Live Templates

创建 Python 组

添加新模板:

  • Abbreviation: df
  • Description: Django field
  • Template text:
${FIELD_NAME} = models.${FIELD_TYPE}(${PARAMS})

定义变量:

  • FIELD_NAME: suggestVariableName()
  • FIELD_TYPE: complete()
  • PARAMS: defaultValue("")

五、团队共享模板

1. 导出模板

2. 导入模板

3. 版本控制

# 模板文件位置
~/.config/JetBrains/PyCharm2023.1/templates

六、模板变量全集

变量描述示例
${NAME}文件名(不含扩展名)my_view
${PACKAGE_NAME}包名myapp.views
${PROJECT_NAME}项目名MyDjangoProject
${USER}当前用户john
${DATE}当前日期2023-07-26
${TIME}当前时间14:30
${YEAR}当前年份2023
${MONTH}当前月份07
${DAY}当前日期26
${HOUR}当前小时14
${MINUTE}当前分钟30
${SECOND}当前秒数45
${PRODUCT_NAME}IDE 名称PyCharm
${MONTH_NAME_FULL}月份全名July
${MONTH_NAME_SHORT}月份缩写Jul
${DS}美元符号$

七、最佳实践建议

1. 模板设计原则

  • 简洁性:只包含必要元素
  • 一致性:团队统一模板风格
  • 实用性:包含常用导入和结构
  • 可扩展性:使用 Includes 片段

2. 推荐模板结构

# 文件头
#parse("File Header.py")

# 导入区
import os
import sys

# 主逻辑
def main():
    pass

# 执行入口
if __name__ == '__main__':
    main()

3. 动态模板技巧

#if (${PACKAGE_NAME} == "models")
from django.db import models
#elseif (${PACKAGE_NAME} == "views")
from django.views import View
#end

八、常见问题解决

1. 模板不生效

  • 检查文件类型匹配
  • 确认模板名称正确
  • 重启 PyCharm

2. 变量不解析

  • 使用正确的大写格式 ${VAR}
  • 检查变量名拼写
  • 确保变量在作用域内

3. 多级目录模板

# 在特定目录创建模板
# 右键目录 > New > Edit File Templates

总结

配置 PyCharm 文件模板的完整流程:

  1. 打开设置File > Settings > Editor > File and Code Templates
  2. 选择文件类型:在 Files 标签页选择 Python Script
  3. 编写模板:使用变量和逻辑控制
  4. 添加 Includes:创建可复用片段
  5. 保存应用:点击 OK 保存设置

高级技巧:

  • 使用 #parse 指令组合模板
  • 通过 #if 实现条件模板
  • #set 定义自定义变量
  • 配置 Live Templates 快速生成代码片段

通过合理配置模板,您可以:

  • 统一代码风格
  • 减少重复工作
  • 提高开发效率
  • 确保最佳实践

以上就是PyCharm文件模板配置的完整指南的详细内容,更多关于PyCharm文件模板配置的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Python生成词云图的详细指南

    使用Python生成词云图的详细指南

    在数据可视化领域,词云图是一种非常直观且受欢迎的展示文本数据中关键词频率的方式,Python 中的wordcloud库提供了一种简单而强大的方法来生成词云图,本文就给大家介绍了使用Python生成词云图的详细指南,需要的朋友可以参考下
    2024-12-12
  • Python性能分析工具pyinstrument提高代码效率

    Python性能分析工具pyinstrument提高代码效率

    今天分享一个超级实用的 Python 性能分析工具 pyinstrument ,可以快速找到代码运行最慢的部分,帮助提高代码的性能。支持 Python 3.7+ 且能够分析异步代码,仅需一条命令即可显示具体代码的耗时。经常写 Python 的小伙伴一定要用一下
    2021-09-09
  • drf-router和authenticate认证源码分析

    drf-router和authenticate认证源码分析

    在 Rest Framework 中提供了两个 router , 可以帮助我们快速的实现路由的自动生成,本文通过实例代码给大家介绍drf-router和authenticate认证源码分析,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • C语言实现二叉搜索树的完整总结

    C语言实现二叉搜索树的完整总结

    这篇文章主要介绍了C语言实现二叉搜索树的完整总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python机器学习三大件之一numpy

    Python机器学习三大件之一numpy

    这篇文章主要介绍了Python机器学习三大件之一numpy,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助哟.需要的朋友可以参考下
    2021-05-05
  • 使用python制作一个截图小工具

    使用python制作一个截图小工具

    这篇文章主要讨论了我们如何使用Python编程语言进行截图,我们看到了如何使用pyautogui 模块与save() 函数和其他模块,如NumPy 和OpenCV ,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 一文详解Python包管理工具uv的核心命令使用

    一文详解Python包管理工具uv的核心命令使用

    这篇文章将带大家从零开始,全面掌握 uv 的下载、安装、核心命令使用,并深入剖析它为何被誉为Python 工具链的未来,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-02-02
  • 浅谈Python里面None True False之间的区别

    浅谈Python里面None True False之间的区别

    这篇文章主要介绍了浅谈Python里面None True False之间的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Scrapy爬虫框架集成selenium及全面详细讲解

    Scrapy爬虫框架集成selenium及全面详细讲解

    这篇文章主要为大家介绍了Scrapy集成selenium,以及scarpy爬虫框架全面讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python中使用Inotify监控文件实例

    Python中使用Inotify监控文件实例

    这篇文章主要介绍了Python中使用Inotify监控文件实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-02-02

最新评论