版权配置文件
使用此页面可创建、编辑和移除版权配置文件。
项目 | 工具提示与快捷键 | 描述 |
|---|

| Alt+Insert | 添加新配置文件。 |

| Alt+Delete | 移除所选配置文件。 |

| Ctrl+D | 打开 复制版权配置文件 对话框,您可以在其中创建所选配置文件的副本。 |

| 导入 | 导入包含版权声明定义的文件。 有关更多信息,请参见 导入版权配置文件。 |
版权配置文件页面
使用此页面配置所选配置文件:定义要生成的版权声明,并指定用于在注释中检测版权声明的关键字。
项目 | 描述 |
|---|
名称 | 使用此文本字段查看或编辑所选版权配置文件的名称。 |
通过 VCS 共享 | 选中此复选框可将配置文件存储在 .idea 目录中,并通过 VCS 与团队共享。 如果清除此复选框,PyCharm 会在 IDE 级别存储该配置文件,并将其应用于所有项目。 |
版权文本(可包含 Velocity 模板) | 使用此文本区域查看或编辑要生成的版权声明。 版权配置文件可以包含版权声明的显式纯文本,或通过 Velocity 模板定义版权声明。 目前,Velocity 上下文中可用以下变量: 名称 | 按类型分组 | 说明 |
|---|
$today
| DateInfo
| 当前日期和时间。 将其与 DateInfo 属性配合使用,例如, $today.year 会插入当前年份。 | $file.fileName
| String
| 要生成版权声明的当前已打开文件的名称。 | $file.pathName
| String
| 要生成版权声明的当前已打开文件的完整路径和名称。 | $file.className
| String
| 在 Java 和 Groovy 文件中,类的名称。 在其他文件中,文件名与 $file.fileName 相同。 | $file.qualifiedClassName
| String
| 在 Java 和 Groovy 文件中,类的完全限定名称。 在其他文件中,文件的完整路径和名称与 $file.pathName 相同。 | $file.lastModified
| DateInfo
| 当前文件上次更改的日期和时间。 将其与 DateInfo 属性配合使用,例如, $file.lastModified.year。 | $project.name
| String
| 当前项目的名称。 | $username
| String
| 当前操作系统用户的登录名。 | $originalComment.match(regexp, group, suffix, ignoreValue)
| String
| 在现有版权声明的 group 组中由 regexp 捕获的文本,后跟 suffix。 更新声明时,使用它来保留原始年份。 如果没有现有声明、 regexp 与其不匹配,或者捕获的文本等于 ignoreValue ,则返回空字符串。 可以省略 ignoreValue。 如果仅传递 regexp ,则 group 为 1 ,并且不会添加后缀。 |
$today 和 $file.lastModified 具有以下属性和方法。 表中以 $today 显示它们。 对于最后修改日期,请将相同名称与 $file.lastModified 一起使用,例如 $file.lastModified.year。
名称 | 按类型分组 | 说明 |
|---|
$today.year
| int
| 年份,例如 2026。 | $today.month
| int
| 月份 (1-12)。 | $today.day
| int
| 月份中的日期 (1-31)。 | $today.hour
| int
| 12 小时制格式的小时数 (0-11)。 | $today.hour24
| int
| 24 小时制格式的小时数 (0-23)。 | $today.minute
| int
| 小时中的分钟数 (0-59)。 | $today.second
| int
| 分钟中的秒数 (0-59)。 | $today.format(String format)
| String
| 使用 日期和时间模式设置格式的日期和时间,例如, $today.format("yyyy-MM-dd") 返回 2026-10-01。 |
例如,以下模板会插入当前年份和当前用户的名称:
Copyright (c) $today.year $username
要保留原始年份并仅更新最后一个年份,例如,将 2022 - 2025 更改为 2022 - 2026 ,请使用 $originalComment.match:
Copyright (c) $originalComment.match("Copyright \(c\) (\d+)", 1, " - ", "$today.year")$today.year $username
在新声明中,此模板仅插入当前年份,例如 Copyright (c) 2026 jsmith。 更新现有声明时,它会从旧声明中获取第一个年份,并在其后添加当前年份。 如果旧声明已经以当前年份开头, ignoreValue 会防止出现诸如 2026 - 2026 这样的范围。 如需更多信息,请参阅 版权模板中的日期。 |
验证 | 点击此按钮以检查 Velocity 模板是否已正确指定。 |
用于在注释中检测版权的正则表达式 | 使用此字段输入、查看或编辑用于在注释中查找版权声明的 正则表达式。 请注意,此正则表达式应与上文指定的版权声明匹配。 否则, PyCharm 将不会 更新版权声明,而是插入新的声明。 |
如果旧版权声明匹配,则允许替换版权声明 | 可选择指定一个正则表达式,用于限制 PyCharm 更新哪些现有版权声明。 仅当此表达式与检测到的声明文本的某个部分匹配时,PyCharm 才会替换该声明。 表达式区分大小写。 如果将该字段留空,PyCharm 将替换所有检测到的声明。 例如,要更新贵公司的声明并保持第三方代码中的声明不变,请指定公司名称: Acme Corp。 请注意 用于在注释中检测版权的正则表达式 和 如果旧版权声明匹配,则允许替换版权声明 之间的区别。 第一个设置用于查找版权声明,第二个设置用于确定是否更新找到的版权声明。 |
2026年 11月 3日