2016-03-26 12 views
7

JavaScript文字列内のHTMLをシンタックスハイライトするためのSublimeパッケージはありますか?SublimeのJavaScript文字列内でHTMLをシンタックスハイライトする方法

(一般的には構文強調いない、質問はJS文字列内でのみHTML程度であることに注意してください。)

具体的に、私はインラインテンプレート

angular.module('compMod', []).component('myComp', { 
    template: `<div>Some Text</div>` 
}); 

を使用して角度成分を書き込み、HTMLを強調するために探していますES6テンプレート文字列内の構文

+1

このようなパッケージがあるかどうかはわかりませんが、とにかく良いアイデアではないと思います。 HTMLでないときは、テンプレート文字列の中のものを適切に強調表示することをお勧めします。ただし、テンプレート文字列を使用する代わりに 'templateUrl'を使用してテンプレートファイルにリンクすることもできます。 – Calvin

+0

@カルヴンテンプレートをインライン化すると、すべてを1か所に収めることができ、頻繁に使用されます。 [こちら](https://github.com/formly-js/angular-formly/blob/master/src/directives/formly-form.js)、私が知っている限り、そのパッケージの作者はWebstormを使っていますまさにそれ。 –

+0

GithubのsublimehqのPackagesリポジトリで[issue](https://github.com/sublimehq/Packages/issues)を開き、 '[JavaScript]'タグを使ってリクエストしてください。 'JavaScript.sublime-syntax'の最新バージョンでは、バッククォート内のテンプレート文字列にはマークが付けられているので、そこにHTML構文をインポートするのは難しくありません。彼らは同意するかもしれないし、同意しないかもしれないが、それは価値がある。 – MattDMo

答えて

4

@Calvinは上記のようにコメントしていますが、これは良い習慣ではありませんが、必ずしも完全に悪いとは限りません。とにかく、ここに私の素朴な解決策はありません(エッジケースについてはテストしていません):

babel package for sublime textをインストールし、* .jsファイルのdefault構文として選択します。

次に、Babelパッケージディレクトリ内にある​​を編集します。 ~/.config/sublime-text-3/Packages/Babel/

セクションtemplate-string-body:を検索し、そのは@ VRPFの提案に似た次の2行を、先頭に追加は:

- meta_content_scope: text.html.basic.embedded.js 
- include: scope:text.html.basic 

は今、あなたは、テンプレート文字列内のES6 + HTML構文でフルサポートしています。

関連する問題