在 Emmet 插件(在 Sublime Text 中)中可以禁用默认的大写单词片段或降低其优先级吗?

时间:2021-01-25 23:22:54

标签: sublimetext3 sublimetext sublime-text-plugin emmet

我发现 Emmet(在 HTML 文档中)会在按下 Tab 键时将任何以大写字母开头的内容扩展为 HTML 元素。这似乎是一个有意的决定,正如其设置文件中的以下注释所解释的那样,但没有任何关于是否可以阻止的提示:

<块引用>

// Emmet 语法(“syntax_scopes”字典的键),其中 Tab 扩展器
// 仅限于已知片段。
// 比如当你输入di时,按Tab键会尝试匹配default
// Sublime Text 片段,因为 di 既不是已知标签,也不是已知的 Emmet 片段。
// 但是 div 将通过 Emmet 进行扩展,因为它是一个已知标签。
// 但是,输入 di.sample 也会通过 Emmet 扩展,因为它
// 包含像 .
这样的特殊操作符 // 已知的片段是:
// * 任何有效的 HTML5 标签
// * 任何预定义的 Emmet 片段
// * 大写单词(JSX,Svelte 组件)
// * 带有破折号的单词(Vue、Web 组件)\

在随意使用中,这不是问题,因为我不会在不期望它执行此类操作时随意按 Tab。但不幸的情况是,这似乎比我正在编辑的前一个片段具有更高的优先级。

例如:输入 div*3 并按 Tab 键将创建 3 个 <div></div> 元素。然后它将带我浏览每个 div 以编辑其内容,并使用 Tab 转到下一个。但是,如果我放入第一个 div 的内容是,例如,Robert(以大写开头),那么 Tab 不会带我到下一个 div,而是会将其展开为 <Robert></Robert>,并将光标置于新的 Robert 元素内以编辑其内容。

这是我想要防止的行为。理想情况下,它永远不会创建 Robert 元素。但一个可接受的解决方案也是至少让我的 3-div 循环优先于 Robert 元素,这样它就不会在编辑“当前活动片段”的内容时这样做。

0 个答案:

没有答案
相关问题