Templates PhpStorm:是否可以在每次文件编辑时更新文件模板?

Templates PhpStorm:是否可以在每次文件编辑时更新文件模板?,templates,phpstorm,Templates,Phpstorm,我的PhpStorm 2017.2项目要求每个新文件都是从特定文件创建的。在“设置>>编辑器>>文件和代码模板>>PHP文件”中,我有以下模板: <?php /** * @author John Doe * @copyright ${YEAR} Acme * @created ${DATE} * @modified ${DATE} */ 不可能使用ATM --观看此票证(明星/投票/评论),了解任何进展。目前还没有计划在最近的将来实施类似的措施 另一方面(正如前面提到的罚单中的

我的
PhpStorm 2017.2
项目要求每个新文件都是从特定文件创建的。在“设置>>编辑器>>文件和代码模板>>PHP文件”中,我有以下模板:

<?php
/**
 * @author John Doe
 * @copyright ${YEAR} Acme
 * @created ${DATE}
 * @modified ${DATE}
 */
不可能使用ATM

--观看此票证(明星/投票/评论),了解任何进展。目前还没有计划在最近的将来实施类似的措施

另一方面(正如前面提到的罚单中的评论所提到的)——看看标准的“版权”插件是否有帮助(我自己从未使用过它,所以不知道它到底能做什么)


一种可能的解决方案包括编写自己的脚本/程序(PHP或任何其他您可以使用的语言),以解析您的文件(这里的正则表达式匹配应该很好——不需要将文件解析为令牌)并更新此类信息:

  • 查看每一行,直到找到匹配的行(可以添加一些保护逻辑以限制要分析的行数:如果在前xx行(例如20行)中没有找到匹配的行,则假定此文件没有此类注释/行)
  • 根据文件修改时间戳更新日期/时间部分
一旦有了这样的脚本——只需使用文件监视程序功能,就可以在每次修改文件时调用它

可能的缺点:检测到文件修改时会触发文件监视程序。。。这可能包括在外部进行的更改(例如,另一个编辑器/从远程主机下载/另一个VCS分支机构/等)。这可能会导致不必要/不必要的更新

如果文件监视程序的功能因任何原因不适用,请查看
grunt-watch
或类似的地方,您可以轻松禁用监视功能(因此,只有当您的监视程序(构建运行程序)正在监视时才会调用您的脚本)。

不可能

--观看此票证(明星/投票/评论),了解任何进展。目前还没有计划在最近的将来实施类似的措施

另一方面(正如前面提到的罚单中的评论所提到的)——看看标准的“版权”插件是否有帮助(我自己从未使用过它,所以不知道它到底能做什么)


一种可能的解决方案包括编写自己的脚本/程序(PHP或任何其他您可以使用的语言),以解析您的文件(这里的正则表达式匹配应该很好——不需要将文件解析为令牌)并更新此类信息:

  • 查看每一行,直到找到匹配的行(可以添加一些保护逻辑以限制要分析的行数:如果在前xx行(例如20行)中没有找到匹配的行,则假定此文件没有此类注释/行)
  • 根据文件修改时间戳更新日期/时间部分
一旦有了这样的脚本——只需使用文件监视程序功能,就可以在每次修改文件时调用它

可能的缺点:检测到文件修改时会触发文件监视程序。。。这可能包括在外部进行的更改(例如,另一个编辑器/从远程主机下载/另一个VCS分支机构/等)。这可能会导致不必要/不必要的更新


如果文件监视程序功能因任何原因不适用,请查看
grunt-watch
或类似的地方,您可以轻松禁用监视功能(因此,只有在监视程序(构建运行程序)正在监视时才会调用脚本)。

模板是“静态”的。这意味着:一旦在文件中使用(代码模板:例如,为类创建PHPDoc)或创建文件(文件模板),文本现在就没有指向原始模板的“链接”,因为它只是文件中的文本。模板是“静态的”。这意味着:一旦在文件(代码模板:例如,为类创建PHPDoc)或创建文件(文件模板)中使用,文本现在就没有指向原始模板的“链接”,因为它只是文件中的文本。一如既往地感谢您抽出时间回答。一如既往地感谢您抽出时间回答。