有没有一种方法可以用正则表达式触发器制作出色的代码片段? [英] Is there a way of making sublime snippets with a regex trigger?

查看:15
本文介绍了有没有一种方法可以用正则表达式触发器制作出色的代码片段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试制作由正则表达式触发的代码片段。在Sublime Text 3中有可能吗?

我试过了,但它不会触发。我已检查Suplime是否将其正确替换为"查找和替换"选项。

<snippet>
<content><![CDATA[$1_$2
]]></content>
<tabTrigger>([a-zA-z])(d)</tabTrigger>
<description></description>
<scope>text.tex.latex</scope>
</snippet>

我希望通过在匹配字符后跟数字的任何单词后按Tab键,并将其替换为字符、a_和数字来触发我的代码段。

示例

A1变为a_1

X0变为X_0

推荐答案

sublime-snippet文件的触发器文本必须是文字文本才能触发;Sublime不会基于正则表达式与其匹配。要执行此类操作,您需要一个绑定到tab键(例如)的插件命令,该命令会触发一个命令,该命令检查光标左侧的文本是否与正则表达式匹配,然后基于此展开它。

我不知道有哪个通用包可以做这样的事情(虽然Emmet这样做是为了扩展HTML标记,但它不是通用的,而且已知会干扰常规的制表符补齐),但是package control上可能列出了一个。

This forum post在Sublime论坛上包含了一个样例插件,它可以做一些与此非常相似的事情,但作为此类事情的起点可能会很有用。根据上面的示例,只要您将示例中的scope替换为您的代码片段中的scope,它就应该可以做您想做的事情,这样它就可以在LaTeX文件中触发,而不是在Markdown中触发。在这种情况下,您可能还需要重命名该命令。


[编辑]如果您不确定如何在崇高文本中使用插件,this video将介绍如何使用插件。

这篇关于有没有一种方法可以用正则表达式触发器制作出色的代码片段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆