当前位置: 首页 > 科技新闻 >

sublime text mac版实施输入处理程序的技巧

时间:2020-12-04 16:17来源:网络整理 浏览:
我们都知道sublime text for Mac是应用在Mac上的一款前端代码开发神器,它支持语法高亮、代码补全、代码片段(Snippet

我们都知道sublime text for Mac是应用在Mac上的一款前端代码开发神器,它支持语法高亮、代码补全、代码片段(Snippet)、代码折叠、行号显示、自定义皮肤、配色方案等所有其它代码编辑器所拥有的功能的同时,又保证了其飞快的速度!下面Macz小编就为大家介绍一下sublime text mac版实施输入处理程序的技巧!

sublime text for Mac(前端代码开发神器) 4.0(4094)汉化版

sublime text mac版实施输入处理程序的技巧

由于输入处理程序使用的是相当通用的界面,因此在命令中添加一个界面可能需要仔细考虑,并且可能不是最直观的过程。

我们将实现一个示例输入处理程序,并说明您可以针对高级配置进行调整的更多齿轮。

重要

要为命令使用输入处理程序, 该命令必须在“ 命令面板”中具有一个条目。这很容易忘记,因此请务必记住!

让我们从一个非常简单的命令开始,该命令将给定的文本插入到视图中。以下两个文件可以放在任何包文件夹中,包括“用户”。

该*Command.input方法

在执行命令时,它会接收其run方法的键控参数。如果签名中的参数不提供默认值,则只有在为所有此类参数都提供了参数的情况下才能调用它。调用参数太少的命令将失败,并导致将异常打印到控制台。

在这种情况下,命令可以实现该input方法 并返回输入处理程序实例,该实例为Sublime Text提供了必要的信息以显示输入处理程序。

该input函数采用一个args参数,该参数是命令的所有当前已知参数的决定。由于我们知道此时仅text缺少必需的参数(),因此我们将不使用该参数。

我们尚未定义MyTextInputHandler,所以让我们开始吧。

子类化 TextInputHandler

要为文本创建简单的输入处理程序,我们创建的子类。在子类中,我们可以覆盖特定的方法。对于最基本的功能,我们需要。此外,为方便起见,我们定义。

当然,您仍然可以像以前一样从按键绑定或通过控制台调用命令。提供所有必需的参数后,将跳过输入处理程序,并立即运行命令。

渲染预览

preview每次修改输入的文本都会调用该方法,并允许在“命令面板”下方显示一个小的预览。预览可以是纯文本,也可以使用minihtml 作为启用了标记的格式。

下面的代码片段扩展了我们的输入处理程序,以显示将要插入的字符数:

还有其他可以覆盖的方法。这些在文档中进行了描述。

# 使用动态数据

您可能已经注意到,我们的MyTextInputHandler课程与我们的课程完全分开SampleCommand。如果我们希望输入处理程序依赖于某些动态数据(例如当前视图的选择),则必须将此类值提供给输入处理程序的构造函数。

以下代码片段将文本命令的View实例传递给输入处理程序的构造函数。构造函数本身将实例存储在instance属性中,以后从中访问它preview。

提供选项列表 ListInputHandler

除了提供自由格式的输入外,您还可以为用户提供他们可以选择的值列表。这是通过细分处理sublime_plugin.ListInputHandler 并提供一种list_items返回值列表以供选择的方法来完成的。该列表可以是字符串列表或元组列表,其中第一个元素表示要显示的文本,第二个元素表示要插入的值作为命令的参数。

请注意,我们name此处未实现,因为Sublime Text可以使用与命令名称相同的逻辑,但通过剥离“ InputHandler”,从类名自动推断出输入处理程序的目标参数名称。

提醒

请记住,您需要通过在.sublime-commands文件中指定上述命令来使其对命令面板可用。

责任编辑:

推荐内容