Language Injection pada IntelliJ

By | January 2, 2016

Pada IntelliJ, kita mampu menginject kemampuan editor (color, syntax checker, autocomplite, etc) pada text didalam suatu String dengan bahasa yang berbeda
(misal ke Java, JavaScript, Groovy, Python, Ruby, XML, PHP, CSS, HTML, dll).

Contoh kasus, tag HTML diiject kedalam code Javascript :

    function getHtmlReceiveWits() {
        var $html = $(
            '<div class="panel panel-default">' +
            '   <div class="panel-heading">Add WITS record receive from Agent :</div>' +
            '       <div class="panel-body">' +
            '           <div class="row">' +
            '               <div class="col-md-4">' +
            '                   <div class="control-group">' +
            '                       <select id="select-record" placeholder="Select a record..."></select>' +
            '                   </div>' +
            '                   </div>' +
            '                       <div id="container-btn-add-record" class="col-md-2"></div>' +
            '                   </div>' +
            '               </div>' +
            '           </div>' +
            '       <div>' +
            '   <div id="container-receive-wits" class="row"></div>' +
            '</div>'
        );
        return $html;
    }

Cukup berikan comment language injection diatas String yang ingin diinject.

contoh :

    function getHtmlReceiveWits() {
        var $html = $(
            //language="HTML"
            '<div class="panel panel-default">' +
            '   <div class="panel-heading">Add WITS record receive from Agent :</div>' +
            '       <div class="panel-body">' +
            '           <div class="row">' +
            '               <div class="col-md-4">' +
            '                   <div class="control-group">' +
            '                       <select id="select-record" placeholder="Select a record..."></select>' +
            '                   </div>' +
            '                   </div>' +
            '                       <div id="container-btn-add-record" class="col-md-2"></div>' +
            '                   </div>' +
            '               </div>' +
            '           </div>' +
            '       <div>' +
            '   <div id="container-receive-wits" class="row"></div>' +
            '</div>'
        );
        return $html;
    }

NB : untuk temporary, dapat diInject menggunakan ALT+ENTER, kemudian pilih Inject Language or Reference