sublime 如何自定义标签包裹ejs内容

发布于 2022-09-11 17:48:10 字数 359 浏览 23 评论 0

比如我想把Hello world包裹成<%= Hello world %>

请问大家该如何实现呢?emmet似乎只能包裹内置的html元素,而sublime的snippet只能预先生成片段再在片段内填写

ejs实际编写过程中,写<% %>这样的符号效率很低

<ul>
        <% users.forEach(users=>{ %>
            
        <% }) %>
</ul>

请大家集思广益,看有没有提高编写这种东西的效率~感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜雨飘雪 2022-09-18 17:48:10

一般对选中文本的进行处理需要用 snippet + keymap。这里有个现成的可以实现你的效果:https://github.com/samholmes/...

如对应的 snippet 文件 ejs_insert_tags.sublime-snippet(快捷键 = + tab):

<snippet>
  <content><![CDATA[<%${1:= }${2:$SELECTION} %>$0]]></content>
  <description><![CDATA[<%(=) 'insert ejs tags' %>]]></description>
  <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
  <tabTrigger>=</tabTrigger>
  <!-- Optional: Set a scope to limit where the snippet will trigger -->
  <scope>text.html</scope>
</snippet>

对应的 key binding(快捷键:ctrl + shift + .):

[{
  "keys": ["ctrl+shift+."],
  "command": "insert_snippet",
  "args": {
    "name": "Packages/User/ejs_insert_tags.sublime-snippet"
  }
}]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文