Sublime Text 3 - CSS自动完成没有输入属性值

时间:2017-12-07 02:16:36

标签: html css autocomplete sublimetext3 sublimetext

所以我知道当你开始输入一个值时,自动完成功能很有用。例如,您在文本对齐中键入"c"的第二个: c 输入,弹出可用的自动填充值(例如center, left, right)。

但是,当我使用Dreamweaver时,对于具有特定值选项(如text-align (center, right, left), display (block, inline-block), cursor (pointer, default), etc.)的属性,自动完成弹出窗口会在输入属性后立即显示,它不会等到我开始键入值。在text-align:输入后,它会显示自动填充弹出窗口,为我提供选项center, right, left

值自动完成功能应在我的属性自动完成功能触发后立即触发:

  • 所以在我输入te ...
  • 之后
  • “te”属性的自动填充弹出窗口显示text-align, text-decoration, text-shadow等....
  • 然后我按 Enter 选择text-align ...
  • 然后在按下 Enter 后立即显示text-align值的自动填充弹出窗口:center, left, right

知道如何在Sublime Text 3中实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

使用小插件和一些首选项插入完成后,您可以让ST直接再次显示自动完成弹出窗口:

在ST中打开CSS文件,打开“首选项”菜单并选择“首选项 - 特定于语法”。将以下内容添加到右侧的设置中:

SELECT N.id, T1.id FROM N INNER JOIN M1 as T1 on T1.data1=N.id OR T1.data2=N.id
Union
SELECT N.id, T1.id FROM N INNER JOIN M2 as T1 on T1.data1=N.id OR T1.data2=N.id

并保存。这将告诉ST在语法期望属性值时键入"auto_complete_triggers": [ { "characters": ": ", "selector": "source.css meta.property-list.css meta.property-value.css" }, ], 或空格时自动在CSS文件中显示自动完成弹出窗口。

现在,不幸的是,ST并不认为自动填充会“输入”任何内容,因此从自动填充弹出窗口中选择:之类的属性值时会自动触发此触发器,该弹出窗口会插入{{1 }}。所以,为了解决这个问题,我们需要一个小插件。从“工具”菜单中,选择“开发人员” - >新插件...

选择所有文字并替换为以下内容并将其保存在ST建议(text-align)文件夹中,如text-align:

Packages/User/

此插件基本上检测何时插入完成(尽管由于ST API的限制,它无法检测您何时用鼠标单击条目 - 请参阅https://github.com/SublimeTextIssues/Core/issues/1166),以及是否在插入符与设置中定义的自动完成触发器之一匹配之前的文本/字符,然后它将再次显示自动完成弹出窗口。

答案 1 :(得分:0)

你可以尝试这个包。这个包索引你的.less和.scss(或.sass),并在html和css上缓存你的mixins,变量,类或id名称和自动填充。它使用mixin参数自动填充你的less和sass mixins。它还支持emmet完成并在弹出窗口中获取您的css类。 -

https://github.com/subhaze/CSS-Extended/