Tired to type the same boilerplate code for each new file? MagicTemplates plugin
automatically inserts autogenerated content for all known files. And it's
not just a static snippet, but a magically generated working code!
# 1. You create a new `Menu.php` file in swissup/module-navigationpro/src/Model/ResourceModel/
# 2. MagicTemplates is doing its job:
∧_∧
(。・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·’* ⛧
<?php
namespace Swissup\Navigationpro\Model\ResourceModel;
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
class Menu extends AbstractDb
{
/**
* Model initialization
*
* @return void
*/
protected function _construct()
{
$this->_init('swissup_navigationpro_menu', 'menu_id');
}
}
See? And that was a single example, while module supports much much more!
- Run “Package Control: Install Package” command
- Type
MagicTemplates
and press Enter
Open Sublime Preferences and add mt-
trigger for xml files:
"auto_complete_triggers": [
[keep_original_triggers],
{"selector": "text.xml", "characters": "mt-"}
],
When you create a file, plugin do the following things:
-
Searches for the closest
composer.json
file (This approach allows to work with multiple projects in the same window) -
Detects project type, autoload parameters, and other useful information by its content
-
If the project type matches one of the known types, plugin searches for the template to use. If found - contents is automatically generated and inserted into the file.
- Here is a pretty simple template for Magento's Collection
- Here is a little bigger template for Magento's Form
Sublime's native snippets mechanism doesn't allow to filter out available snippets depending on filename pattern. MagicTemplates plugin allows to create such kind of dynamic snippets!
This feature allows to reduce the number of shown snippets for various files.
For example, when working with Magento's layout.xml
file MagicTemplates will
never show you autocompletions written for ui_component.xml
files.
Additionally, these snippets fully supports MagicTemplates variables which allows to generate more code that simply works.