id
やclass
属性を付与した要素の閉じタグ付近に属性の名前をコメントで残すことで、HTMLの構造を分かりやすくすることが多いのですが、その都度コメントを入力するのは面倒くさいので、Mac
+ Sublime Text 3上で、Emmet使って楽しようという話です。
というわけで最終目標は、Emmetで.hogehoge
を下記のように展開することです。
Emmetのfilter機能
まずEmmetのfilter機能を使って、.hogehoge|c
という風に末尾に|c
を入力して展開すると、
という形で、閉じタグの後ろにid,class属性の値をコメントで入れてくれます。
とは言え、毎回|c
と打つのも面倒くさいですね。そこでEmmetのfilters機能の設定を変更して|c
と打たずともコメントを付与するようにします。
Emmetのfilters機能の設定を変更する
Sublime Text
のメニューで、Preferences > Package Settings > Emmet > -User
を開き、下記のコードを追加します。
filters
のデフォルトは、html
だけですが、そこにc
を付与することで、全て|c
をつけて展開するようになります。
コメントを要素の内側に挿入する
ここまで来ましたが、あと一点。私の周りにはこういうコメントを冒頭の例の用に要素の内側に記載する人が多くていつの間にか自分も内側に記載するようになりました。これもまた都度カットアンドペーストするのは面倒くさいのでコメントの挿入位置を変更します。
ここではEmmetのコード(emmet-app.js)自体をカスタマイズする必要があります。カスタマイズの方法はMacのSublime Text 3 + Emmet で閉じタグの後ろにコメントを加える設定 | megane9988のブログの1,2を参考にして
/Users/ユーザ名/Library/Application Support/Sublime Text3/Installed Packages/Emmet.sublime-package
このファイルを一旦別のフォルダに移して、拡張子をzipに変えて解凍しフォルダ名をEmmetに変えます。
その後、下記のフォルダの方にEmmetフォルダを移して
/Users/ユーザ名/Library/Application Support/Sublime Text3/Packages/
Sublime Textを再起動し、Emmetが通常に動いていることを確認します。ここサボると痛い目に会います(体験談)。一回Packageとして認識させないといけないのかも。
で、ようやくそのフォルダの中のemmet-app.jsを編集します。15,920
7,413行あたりの
を、下記のコードに変更して、再起動。
これで出来るようになったかと。長かった...
参考
- Emmetの閉じタグコメントを手前に変更する方法 via tamshow.com
- MacのSublime Text 3 + Emmet で閉じタグの後ろにコメントを加える設定 via megane-blog.com
- Zen-Coding(Emmet)でコード展開時にクラス名・ID名のコメントを自動追加する方法 via ozpa-h4.com