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

Written by

in

文章目录
  • 变量 描述 示例 ${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} 美元符号 $
  • 配置 PyCharm 文件模板的完整流程: 打开设置:File > Settings > Editor > File and Code Templates 选择文件类型:在 Files 标签页选择 Python Script 编写模板:使用变量和逻辑控制 添加 Includes:创建可复用片段 保存应用:点击 OK 保存设置 高级技巧: 使用 #parse 指令组合模板 通过 #if 实现条件模板 用 #set 定义自定义变量 配置 Live Templates 快速生成代码片段 通过合理配置模板,您可以: 统一代码风格 减少重复工作 提高开发效率 确保最佳实践 以上就是PyCharm文件模板配置的完整指南的详细内容,更多关于PyCharm文件模板配置的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: windows下pycharm安装、创建文件、配置默认模板 pycharm中创建sql文件及模板的过程 新建文件时Pycharm中自动设置头部模板信息的方法 pycharm设置python文件模板信息过程图解 对Pycharm创建py文件时自定义头部模板的方法详解
  • 目录
    • 一、完整配置流程
      • 1. 打开模板设置
      • 2. 配置全局模板
      • 3. 创建 Python 文件模板
      • 4. 添加自定义变量
      • 5. 创建 Django 模型模板
    • 二、高级模板配置
      • 1. 创建模板片段(Includes)
      • 2. 使用模板片段
      • 3. 条件模板
      • 4. 自定义变量
    • 三、模板示例集
      • 1. Django View 模板
      • 2. Django Form 模板
      • 3. Django ModelAdmin 模板
    • 四、自动生成工具
      • 1. 使用 Live Templates
      • 2. 配置 Live Templates
    • 五、团队共享模板
      • 1. 导出模板
      • 2. 导入模板
      • 3. 版本控制
    • 六、模板变量全集
      • 七、最佳实践建议
        • 1. 模板设计原则
        • 2. 推荐模板结构
        • 3. 动态模板技巧
      • 八、常见问题解决
        • 1. 模板不生效
        • 2. 变量不解析
        • 3. 多级目录模板
      • 总结

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

        File and Code Templates 界面:

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

        #!/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()
        

        变量 描述 示例
        ${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

        # ${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}"
        
        # 以下为自动生成的代码
        

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

        # Python Script
        #parse("File Header.py")
        
        import os
        import sys
        
        def main():
            pass
        
        if __name__ == '__main__':
            main()
        

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

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

        #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)
        

        #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
        

        #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')
                }),
            )
        

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

        打开 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("")

        # 模板文件位置
        ~/.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} 美元符号 $

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

        # 文件头
        #parse("File Header.py")
        
        # 导入区
        import os
        import sys
        
        # 主逻辑
        def main():
            pass
        
        # 执行入口
        if __name__ == '__main__':
            main()
        

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

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

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

        # 在特定目录创建模板
        # 右键目录 > 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文件模板配置的资料请关注风君子博客其它相关文章!

        您可能感兴趣的文章:

        • windows下pycharm安装、创建文件、配置默认模板
        • pycharm中创建sql文件及模板的过程
        • 新建文件时Pycharm中自动设置头部模板信息的方法
        • pycharm设置python文件模板信息过程图解
        • 对Pycharm创建py文件时自定义头部模板的方法详解

        站内搜索