Sublime Text 2 用の Zen Coding をインストールしました。タグの外側で略語を展開している間は機能しますが、それらのスクリプト タグの内側では機能しません (js が期待されているため、これは理にかなっています)。ただし、Handlebars テンプレートを編集する際には便利です。
これを実現するためにZen Coding ST2プラグインを構成/変更する方法を知っている人はいますか?
ありがとう
Sublime Text 2 用の Zen Coding をインストールしました。タグの外側で略語を展開している間は機能しますが、それらのスクリプト タグの内側では機能しません (js が期待されているため、これは理にかなっています)。ただし、Handlebars テンプレートを編集する際には便利です。
これを実現するためにZen Coding ST2プラグインを構成/変更する方法を知っている人はいますか?
ありがとう
現在呼び出されているコマンドexpand_abbreviation_by_tab
(私は Sublime Text 3 を使用しています)。
埋め込まれた js (x-handlebars スクリプト スコープ) 内で Emmet を使用するには、次のコマンドをキーマップ ファイル内に貼り付けますKey Bindings — User
。
{
"keys": [
"tab"
],
"command": "expand_abbreviation_by_tab",
"context": [
{
"operand": "source.js.embedded.html",
"operator": "equal",
"match_all": true,
"key": "selector"
}
]
}
Emmetがキーの値として機能するために必要なスコープを追加しoperand
ます。
何よりも、Sublime を再起動する必要はありません。それはすぐに働き始めます!
に./ZenCoding/Default.sublime-keymap
は、ファイルのさまざまな部分を編集するときにアクティブにするアクションを定義する一連のコンテキスト スコープ セレクターがあります。これらは、TextMate が使用する同じスコープ セレクターです。
コマンドのデフォルトのスコープexpand_zen_abbreviation_on_tab
(これを書いている時点では、ファイルの最後のエントリです) には、<script>
タグのセレクターは含まれていません。追加する必要があります。
正しいスコープを見つけるには、カーソルを ST2 ドキュメントのどこかに置いて を押しますctrl+shift+p
。ステータス バーには、現在の地域のセレクターが表示されます。.html ファイルに保存されたスクリプト タグの場合は、次のように返されます。
text.html.basic source.js.embedded.html
この情報を考慮して、コマンドのプロパティにsource.js.embedded.html
エントリを追加すると、スクリプト タグ内で Zen コーディングが機能するようになります。operand
expand_zen_abbreviation_on_tab
ここexpand_zen_abbreviation_on_tab
にコンテキストが追加された私のものがあります...
{"command": "expand_zen_abbreviation_on_tab",
"context": [{"key": "selector",
"match_all": true,
"operand": "source.css - source.css.embedded, text.xml, text.html -source -meta.tag, meta.scope.between-tag-pair.html -source, source.js.embedded.html",
"operator": "equal"},
{"key": "selection_empty",
"match_all": true,
"operand": true,
"operator": "equal"},
{"key": "is_zen", "match_all": true}],
"keys": ["tab"]}]
「zencoding/zen_settings.py」の 31 行目で、'filters': 'html,css' を 'filters': 'html,css,hbs' に変更します。使用している場合、erb などの他のファイル タイプもここに追加できます。レール。