我使用PhpStorm管理我的许多客户Laravel PHP项目,但随着这些项目变得越来越大,维护和显示系统中的版本信息变得非常重要我正在开发
为此,我使用.env
文件来保存名为APP_VERSION
的配置。
我想做的是每当文件保存在PhpStorm中时 - 任何文件 - 我想自动更新此配置变量的值(通过递增)。
但是,我似乎找不到办法,或者甚至可能。
我看过文件监视器,但这似乎并没有解决我遇到的问题,因为它只允许某些文件类型,甚至它想要运行编译器(例如Sass或较少的编译器等)这当然不是我之后的事。
有没有办法做到这一点,我不必手动增加我更新的每个文件的次要版本号?
更新
因此,通过使用@LazyOne的答案,我创建了一个小脚本,对相关文件执行必要的文本更新。
我使用了自定义文件监视器,该文件监视器是针对任何文件类型的更改而设置的,其中创建了自定义范围以排除我不想观看的某些文件和文件夹。
最终结果,当我保存一个有效范围内的文件时,我编写的脚本会执行以更新我的文件并进行必要的更改。
答案 0 :(得分:3)
PhpStorm没有这样的功能(包括其他基于IDEA的IDE)。有一些票要求这样的功能..但它肯定不适用于你的场景(用例有不同)。
你必须这样做"手动"。我的意思是:
这样的脚本将打开你的.env
文件,找到正确的行并在那里编辑值 - 一点点文件解析工作 - 没什么超重的。
提示:Laravel有artisan
..其中一个命令是key:generate
(它改变了.env
文件 - 至少在你创建新文件时至少运行一次Laravel app)。你可以用类似的方式来做 - 把你的脚本作为artisan命令(这样你就可以拥有完整的Laravel功能),并在需要时调用它(File Watcher或其他)。
PS 而不是编辑.env
文件(更具体环境而不是全局设置,版本信息是什么)..为什么不将它存储在自定义配置文件< / strong>(例如config/version.php
)其中仅包含该信息,因此更容易更改甚至从头开始生成(模板),因为它具有非常简单的结构,因此不需要维护其他现有信息(与.env
文件有关)?
在一天结束时 - 您/程序员在调用env('APP_VERSION')
和config('version.app_version')
之间在您的应用中获取该信息之间没有太大区别。
答案 1 :(得分:0)
我不确定这是否可能直接在PHPStorm内。但是,您可以自己编写一个小的PHP脚本来监视指定的目录以查找文件更改,当一个脚本发生时,您的脚本可以对所需的文件进行必要的更改。
请尝试查看inotify以获取更多信息。