Thanks for helping improve the PhpStorm plugin for XOOPS developers.
Repository: https://github.com/XOOPS/phpstorm-plugin
-
JDK 21+ on
PATH(orJAVA_HOME). -
Clone XOOPS/phpstorm-plugin and open it as a Gradle project.
-
First build downloads the PhpStorm SDK (can take several minutes):
./gradlew buildPlugin
-
Sandbox IDE:
./gradlew runIde
- Java 21, package root
org.xoops.support. - Keep inspections fast and heuristic unless a full PSI analysis is clearly worth it.
- File-level
visitFileinspections must callPhpTextUtil.isPrimaryPsiFile(PHP+HTML dual PSI). - Quick-fixes compute ranges from the PSI element at apply-time, not frozen offsets.
- Tests are JUnit 4 (
org.junit.Test, public classes/methods) viatestFramework(TestFrameworkType.Platform). Jupiter will not start the IPG executor. - Prefer quick fixes that are safe and local (single file / small edit).
- Do not hard-code AI vendor names or branding in UI strings.
- Index / PSI access from background threads must use
ReadAction(seeXoopsProjectService).
./gradlew check verifyPlugin buildPluginCI runs the same command set.
- Update
pluginVersioningradle.properties(this is the single source; do not add<version>toplugin.xml). - Update change-notes in
src/main/resources/META-INF/plugin.xml. - Update
CHANGELOG.mdandwhats-new.html(and the version table inREADME.md). - Tag release with the same version as
pluginVersioningradle.properties, e.g.
git tag v1.0.0-alpha.3 && git push origin v1.0.0-alpha.3(triggers release workflow).
Open an issue at github.com/XOOPS/phpstorm-plugin/issues.
Include PhpStorm version, plugin version, and a minimal reproduction (path under modules/ when relevant).