Hands-on guide for the XOOPS Support PhpStorm plugin (org.xoops.plugin.support).
| Repository | github.com/XOOPS/phpstorm-plugin |
| Install ZIP | Releases or build/distributions/xoops-support-*.zip |
| What's New | Settings → Plugins → XOOPS Support → What's New |
./gradlew buildPlugin
# Windows: gradlew.bat buildPluginThen Install Plugin from Disk… → build/distributions/xoops-support-*.zip → restart.
- Open a real XOOPS install (with
mainfile.phporhtdocs/mainfile.php). This plugin repository alone is not a XOOPS site root. - Optional balloon: “XOOPS Support active”.
- Tools → XOOPS Support → Show XOOPS Project Info (runs in the background).
- Settings (search “XOOPS Support”): enable/disable, profile, suppress notification.
- View → Tool Windows → XOOPS Support
- Refresh (or Tools → XOOPS Support → Refresh XOOPS Overview)
- Click findings to open files.
- Copy
test-fixtures/bad_module_sample.phpunderhtdocs/modules/_xoops_demo/. - Open it — highlights for guards, query/exec, Request, etc.
- Alt+Enter on each highlight and apply the fix.
- For Smarty: a
.tplwith bare{if …}should offer delimiter conversion.
In a PHP file, type the abbreviation and press Tab:
| Abbreviation | Inserts |
|---|---|
xoguard |
defined('XOOPS_ROOT_PATH') || exit(...) |
xofetch |
query + isResultSet + fetchArray ($this->db) |
xofetchdb |
same with $db |
xohead |
PHPDoc file header |
xolang |
define('_MI_…') |
xocriteria |
CriteriaCompo stub |
xorequest |
\Xmf\Request::getString |
xoexec |
$this->db->exec(...) |
Type _MI_ (or _AM_, _MD_, …) and Ctrl+Space — completions from language/**/*.php defines.
Tools → XOOPS Support → New XOOPS Module Stub… or New → XOOPS Module…
- Legacy only —
xoops_version.php,index.php, language, template - Hybrid — plus
composer.json,src/Service/…,config/,AGENTS.md
| Action | Purpose |
|---|---|
| Show XOOPS Project Info | Dialog: profile, web root, modules |
| Refresh XOOPS Overview | Rescan + tool window |
| New XOOPS Module Stub… | Scaffold module |
.\gradlew.bat runIde
# other terminal after edits:
.\gradlew.bat buildPlugin --continuous./gradlew runIde
# other terminal:
./gradlew buildPlugin --continuousFocus sandbox to hot-reload (not under debugger).