Versioned Visual Studio Code snippets for professional Joomla extension development.
This extension is built for developers who maintain and create Joomla components, modules, plugins, templates, manifests, language files, WebAssetManager definitions, JavaScript/TypeScript, CSS/SCSS/Tailwind and Web Services API layers across Joomla 1.5, 2.5, 3, 4, 5 and 6.
Project links
| Resource | Link |
|---|---|
| Repository | olegkosarevdevopsolution/vscode-joomla-developer-snippets |
| Current release | v0.5.4 |
| All releases | GitLab Releases |
| Wiki | GitLab Wiki |
| Issues | Issue tracker |
| Snippet catalog | docs/SNIPPETS.md |
Features
- Smart version-filtered completions for Joomla 1.5, 2.5, 3, 4, 5 and 6:
j15-*,j25-*,j3-*,j4-*,j5-*,j6-*. - Strict typed-prefix filtering: typing
j5-apireturns onlyj5-api*snippets. - Keyword search across enabled snippets: typing
lang,api,module,controllerorassetsearches prefix, title, description, group and language layer. - Snippet UI localization uses full per-prefix strings split by locale and Joomla version, avoiding partial replacement artifacts in completion details.
- Joomla 1.5 legacy snippets for old MVC classes,
JRequest,JController,JModel,JView,JTable,JPlugin, old XML manifests and<params>-based configuration. - Joomla 2.5 legacy snippets for
JController,JControllerAdmin,JControllerForm,JModelList,JModelAdmin,JView,JTable,JInput, extension manifests and XML form fields. - Joomla 3 legacy development patterns for classic components, modules, plugins, templates and document asset APIs.
- Joomla 4+ namespaced PHP skeletons for modern extension development.
- Component, module, plugin and template snippets for real Joomla extension file layouts.
- XML snippets for manifests, forms, fieldsets, fields, rules, SQL/install blocks and media asset installation.
- Web assets snippets for
joomla.asset.jsonand PHP-side WebAssetManager usage. - JavaScript and TypeScript snippets for vanilla Joomla UI code,
Joomla.request, script options, CustomEvent, Custom Elements, Bootstrap 5 and JoomlaDialog patterns. - CSS, SCSS and Tailwind snippets for component UIs, administrator screens, template variables and RTL-friendly logical properties.
- Web Services API snippets for ApiController, JsonApiView, webservices route plugins and custom field API handling.
- Language snippets for
.ini,.sys.iniand Joomla language-package scaffolds. - Localized snippet UI for completion details, command text, Settings UI labels and snippet documentation.
Supported Joomla versions
| Version | Style | Prefix | Catalog |
|---|---|---|---|
| Joomla 1.5 | Legacy MVC-era maintenance | j15-* |
Wiki catalog |
| Joomla 2.5 | Legacy LTS MVC / pre-namespace patterns | j25-* |
Wiki catalog |
| Joomla 3 | Classic non-namespaced extension patterns | j3-* |
Wiki catalog |
| Joomla 4 | Namespaced extension patterns and WebAssetManager | j4-* |
Wiki catalog |
| Joomla 5 | Modern extension patterns and localized snippet UI | j5-* |
Wiki catalog |
| Joomla 6 | Future-ready modern extension patterns | j6-* |
Wiki catalog |
Version-by-version overview
Joomla 1.5 (j15-*)
Legacy Joomla 1.5 maintenance snippets for old MVC classes, JRequest, JController, JModel, JView, JTable, JPlugin, MooTools-era JavaScript, old XML manifests and params-based configuration.
Joomla 2.5 (j25-*)
Joomla 2.5 LTS maintenance snippets for legacy MVC, JControllerAdmin, JControllerForm, JModelList, JModelAdmin, XML forms, SQL schemas, module/plugin manifests and templates.
Joomla 3 (j3-*)
Classic Joomla 3 snippets for non-namespaced components, modules, plugins, templates, forms, manifests, language constants and document asset APIs.
Joomla 4 (j4-*)
Modern Joomla 4 snippets for namespaces, service providers, MVCFactory-oriented components, WebAssetManager, joomla.asset.json, vanilla JavaScript, styles and Web Services API layers.
Joomla 5 (j5-*)
Current Joomla 5 snippets for modern extension development: components, modules, plugins, templates, WebAssetManager, JavaScript/TypeScript, styles, language packages and API controllers.
Joomla 6 (j6-*)
Joomla 6-oriented snippets using the same modern architecture family as Joomla 4/5, with explicit j6-* prefixes for future-ready projects.
Coverage
| Version | PHP | XML | Assets JSON | JavaScript / TypeScript | Styles | Templates | Language | Total |
|---|---|---|---|---|---|---|---|---|
| Joomla 1.5 | 32 | 51 | 0 | 3 | 3 | 7 | 47 | 143 |
| Joomla 2.5 | 36 | 57 | 0 | 4 | 4 | 9 | 47 | 157 |
| Joomla 3 | 56 | 66 | 0 | 0 | 0 | 9 | 48 | 179 |
| Joomla 4 | 76 | 75 | 8 | 15 | 8 | 17 | 48 | 247 |
| Joomla 5 | 76 | 75 | 8 | 15 | 8 | 17 | 48 | 247 |
| Joomla 6 | 76 | 75 | 8 | 15 | 8 | 17 | 48 | 247 |
| All | 352 | 399 | 24 | 52 | 31 | 76 | 286 | 1220 |
The extension uses a smart runtime completion provider instead of static contributes.snippets. It loads 1220 unique snippet definitions and exposes them according to the current workspace configuration.
Smart version filtering
Use the Command Palette for quick presets:
Joomla Snippets: Select Enabled Versions
Joomla Snippets: Enable Joomla 1.5 Only
Joomla Snippets: Enable Joomla 2.5 Only
Joomla Snippets: Enable Joomla 3 Only
Joomla Snippets: Enable Joomla 4 Only
Joomla Snippets: Enable Joomla 5 Only
Joomla Snippets: Enable Joomla 6 Only
Joomla Snippets: Disable Legacy Versions
Joomla Snippets: Enable All Versions
Joomla Snippets: Select Snippet UI Language
Joomla Snippets: Select Enabled Versions opens a checkbox list and stores the selected Joomla versions in the current workspace.
Settings
{
"joomlaSnippets.smart.enabled": true,
"joomlaSnippets.locale": "auto",
"joomlaSnippets.showLegacy": true,
"joomlaSnippets.enableJoomla15": true,
"joomlaSnippets.enableJoomla25": true,
"joomlaSnippets.enableJoomla3": true,
"joomlaSnippets.enableJoomla4": true,
"joomlaSnippets.enableJoomla5": true,
"joomlaSnippets.enableJoomla6": true
}
Advanced group-level filtering is available through joomlaSnippets.versions.
Available groups: foundation, components, modules, plugins, templates, manifests, forms, language, assets, javascript, styles, api, database, security, legacy.
Locale selection
The extension can localize snippet completion details, Markdown documentation, group labels, command text and Settings UI descriptions.
{
"joomlaSnippets.locale": "auto"
}
Supported values are discovered from bundled locale files. This release includes 32 UI locales plus auto.
Bundled UI languages
This release includes auto plus 32 bundled UI locales. auto follows the current VS Code display language.
| Locale | Language |
|---|---|
bg |
Български |
cs |
Čeština |
da |
Dansk |
de |
Deutsch |
el |
Ελληνικά |
en |
English |
es |
Español |
et |
Eesti |
fi |
Suomi |
fr |
Français |
hr |
Hrvatski |
hu |
Magyar |
it |
Italiano |
ja |
日本語 |
ko |
한국어 |
lt |
Lietuvių |
lv |
Latviešu |
nl |
Nederlands |
no |
Norsk |
pl |
Polski |
pt-br |
Português (Brasil) |
pt-pt |
Português (Portugal) |
ro |
Română |
ru |
Русский |
sk |
Slovenčina |
sl |
Slovenščina |
sr |
Српски |
sv |
Svenska |
tr |
Türkçe |
uk |
Українська |
zh-cn |
简体中文 |
zh-tw |
繁體中文 |
Prefix model
Every snippet starts with a Joomla version prefix. This keeps completions explicit and avoids mixing old JRequest / JController snippets with Joomla 4+ namespaced code.
j15-com-controller
j15-param-text
j25-com-model-list
j25-field-text
j3-controller-admin
j4-component-provider
j5-com-controller-admin
j5-mod-dispatcher
j5-plg-webservices-routes
j5-api-controller
j5-js-request-get
j5-css-component
j6-plugin-subscriber
For Joomla 4, Joomla 5 and Joomla 6, most snippets share the same functional naming model. In practice, use the same suffix and change only the version prefix:
j4-controller-admin
j5-controller-admin
j6-controller-admin
Full snippet catalog
The complete generated catalog is included in docs/SNIPPETS.md and in the GitLab Wiki under Snippet Catalog.
Localization policy
The extension ships with a broad default localization set. Additional languages can be contributed by the community via merge request.
The localization layout is intentionally simple:
i18n/ui/<locale>.json
i18n/snippet-ui/<locale>/joomla-15.json
i18n/snippet-ui/<locale>/joomla-25.json
i18n/snippet-ui/<locale>/joomla-3.json
i18n/snippet-ui/<locale>/joomla-4.json
i18n/snippet-ui/<locale>/joomla-5.json
i18n/snippet-ui/<locale>/joomla-6.json
To add a language: copy i18n/ui/en.json to i18n/ui/<locale>.json, copy i18n/snippet-ui/en/ to i18n/snippet-ui/<locale>/, translate values without changing keys, set the correct locale code, run validation/build, and open a merge request.
Runtime fallback is: exact locale -> base locale -> English.
Extension metadata
- Publisher:
OlegKosarevDevOpsolution - Author: Oleg Kosarev
- License: MIT
- Repository: https://gitlab.com/olegkosarevdevopsolution/vscode-joomla-developer-snippets
- Extension type: smart VS Code completion provider backed by versioned snippet JSON files
Notes
Snippets are filtered at completion time. If a prefix does not appear, check joomlaSnippets.smart.enabled, joomlaSnippets.showLegacy, the matching joomlaSnippets.enableJoomlaX checkbox and the matching group entry inside joomlaSnippets.versions.