XOOPS Support is a PhpStorm / IntelliJ plugin for XOOPS module and core development (2.5 / 2.7 / 4.0).
It brings XOOPS conventions into the IDE: inspections with Alt+Enter quick fixes, language-constant completion, live templates, a project scanner, and module scaffolding.
| Repository | github.com/XOOPS/phpstorm-plugin |
| Plugin id | org.xoops.plugin.support |
| Version | 1.0.0 Alpha 1 (1.0.0-alpha.1) |
| Compatibility | PhpStorm 2024.3+ (since-build 243, no upper cap — includes 2026.2.x) |
| License | GPL-2.0-or-later |
- Inspections + quick fixes — root-path guards,
isResultSetbeforefetch*,query()vsexec(), deprecatedqueryF/quoteString, missing registered templates, wrong Smarty delimiters,include→include_oncefor headers. For input: keyed$_GET/$_POST/$_COOKIE['key']offer\Xmf\Request::getStringfixes; bare$_GET/$_POST/$_REQUEST/$_COOKIEand keyed$_REQUESTare warnings only (no auto-fix when the source is ambiguous) - Live templates —
xoguard,xofetch,xofetchdb,xohead,xolang,xocriteria,xorequest,xoexec - Language constants — completion for
_MI_/_AM_/_MD_/ … fromlanguage/**/*.php - Project tools — detection balloon, scanner tool window, Tools → XOOPS Support
- Module scaffold — legacy or hybrid (PSR-4 / composer) via New → XOOPS Module…
See TUTORIAL.md for a walkthrough and CHANGELOG.md for release notes.
- Download
xoops-support-*.zipfrom Releases (or build locally). - PhpStorm → Settings → Plugins → ⚙ → Install Plugin from Disk…
- If PhpStorm offers restart, accept once after the first install (later updates often apply without restart).
- Open a XOOPS tree → Tools → XOOPS Support.
Requirements: JDK 21+, network access (downloads PhpStorm SDK on first build).
./gradlew buildPlugin
# Windows: gradlew.bat buildPluginPlugin ZIP:
build/distributions/xoops-support-<version>.zip
| Task | Purpose |
|---|---|
./gradlew buildPlugin |
Package the plugin ZIP |
./gradlew runIde |
Sandbox PhpStorm with the plugin (auto-reload on) |
./gradlew verifyPlugin |
IntelliJ Plugin Verifier |
./gradlew check verifyPlugin buildPlugin |
Full CI-style build |
After runIde, rebuild with ./gradlew buildPlugin (or --continuous) and focus the sandbox to hot-reload (not under a debugger).
GitHub Actions workflow (same idea as php-hammer):
.github/workflows/gradle.yml— on push/PR tomain/master:./gradlew check verifyPlugin buildPlugin, upload ZIP artifact.github/workflows/release.yml— on tagv*: build and attach ZIP to a GitHub Release
xoops-support/
.github/workflows/ # CI + release
src/main/java/org/xoops/support/
src/main/resources/META-INF/plugin.xml
src/main/resources/liveTemplates/
src/main/resources/inspectionDescriptions/
test-fixtures/ # sample “bad” PHP/Smarty for manual testing
build.gradle.kts
gradle.properties
Edit gradle.properties for version and platform target:
pluginVersion=1.0.0-alpha.1
platformVersion=2024.3.5
pluginSinceBuild=243
pluginUntilBuild= # empty = open-ended (2026.2+)- Fork and clone this repository.
- Open the project in IntelliJ IDEA / PhpStorm (import as Gradle project).
- Use JDK 21.
- Run
./gradlew runIdefor a sandbox. - Open a PR against
main(ormaster) on XOOPS/phpstorm-plugin.
- GitHub repository
- Issues
- XOOPS
- IntelliJ Platform Plugin SDK
- Inspired by framework-focused IDE plugins such as PHP Hammer
GPL-2.0-or-later — see LICENSE (verbatim GNU GPL v2 text).
Copyright (C) 2026 XOOPS Project and contributors.