Som lenivý, preto som si pre PHPDoc vytvoril jednoduchú bundle. S novým bundle editorom je to strašne pohodlné. Viem, že Ivo robil niečo podobné pre JavaScript. Nasledujúce sa dá samozrejme použiť kdekoľvek, aj v Intype 0.3.1 (za predpokladu, že budete upravovať súbory na disku), ale v novom 0.3.5 to bude podstatne jednoduchšie ako pre gramatiky:

Tak pre snippety:

Existujúca gramatika pre PHP nerobí rozdiel medzi obyčajným komentárom a komentárom s dokumentáciou. To sa dá jednoducho zmeniť. Potrebujeme pridať pravidlo ktoré v komentároch začínajúcich na /** nastaví scope na comment.block.doc.php.

/**
 * Nech Ctrl+P zobrazí comment.block.doc.php! Trištýýýýýýý-ri!
 */

Otvoríme PHP gramatiku a nájdeme v nej pravidlo pre comment.block. Blok vyzerá takto:

{
        begin: /\/\*/
        end: /\*\//
        name: 'comment.block.php'
        patterns: [ {
                match: /\@(a(ccess|uthor)|c(ategory|opyright)|global|l(ink|icense)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion))\b/
                name: 'keyword.other.phpdoc.php'
        } ]
}

Urobíme kópiu pravidla nad ním. Potrebujeme upraviť begin, name a ešte z pôvodného pravidla pre komentár odmažeme patterns:

// Kópia s našimi úpravami pre PHPDoc
{
        begin: /\/\*\*/
        end: /\*\//
        name: 'comment.block.doc.php'
        patterns: [ {
                match: /\@(a(ccess|uthor)|c(ategory|opyright)|global|l(ink|icense)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion))\b/
                name: 'keyword.other.phpdoc.php'
        } ]
}
// Pôvodný blok bez "patterns"
{
        begin: /\/\*/
        end: /\*\//
        name: 'comment.block.php'
}

Ok, čil, načo to bolo? No bolo to na to, aby sme mohli preťažiť klávesu Enter v komentári tak aby nevkladala iba nový riadok, ale aby k nemu prihodila i hviezdičku na začiatku. Čiže:

/**
 * <- keď tam tunák Enter, tak mi to vloží další riadok s hviezdičkou
 */

Predtým ako to urobíme by to chcelo novú bundle, aby sme v tom nemali bordel. Nazvime ju „PHPDoc“. Terazky vytvoríme nový snippet v tejto bundle s menom „New line in PHPDoc comment“. Do nej nastavíme obsah snippetu ako:

* $0

Čiže: nový riadok, medzera, hviezdička, medzera. Scope nastavíme na comment.block.doc.php a klávesovú skratku na Enter. Ctrl+S a môžeme to vyskúšať.

/**
 *
 *
 *
 *
 *
 * Jaké dobré, héééj.
 */

Teraz nám už len stačí vytvoriť sadu snippetov pre jednotlivé PHPDoc tagy. Ten najpeknejší je @param, inštrukcie hír:

  1. Vytvorte nový snippet v „PHPDoc“ s menom „@param“
  2. Snippet: @param ${1:type} \$${2:name} $0
  3. Scope: comment.block.doc.php
  4. Tab trigger: @param
  5. Ctrl+S