Sublime Text 2 自动完成弹出窗口无法正常工作
Posted
技术标签:
【中文标题】Sublime Text 2 自动完成弹出窗口无法正常工作【英文标题】:Sublime Text 2 auto completion popup does not work properly 【发布时间】:2012-09-21 07:24:53 【问题描述】:我在整个包控制中安装的 jQuery Snippet 遇到问题。安装后,我没有弹出带有 jQuery 代码提示和 intalisance 的弹出窗口。看看这个视频:http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2/lessons/adding-snippets-through-package-control
在键入 后的 0:50。 他弹出代码提示 - 我没有这个。我必须键入 . 然后按 Tab 以显示带有 sn-p 的弹出窗口... 是的,我在 javascript 文件中,我有默认设置。
在 . 之后,他还获得了所有 jQuery 函数,例如 add
或 addClass
。即使按 Ctrl+Space,我也没有这个。
【问题讨论】:
来吧伙计们?它在你的机器上怎么样?就像上面的电影一样,当您输入(实时)(用于 javascript 或 jQuery 代码)时,您是否有自动完成功能? –born2fr4g 刚刚编辑 我也有同样的问题。我没有实时看到自动完成弹出窗口。tab
要么自动完成我的文本(我猜只有一个匹配项)要么显示我想实时看到的弹出窗口!
查看下面的答案 - 您可以手动获取或设置它在您键入时自动执行此操作
下面的答案是对的……
这可能与“Getting full JS autocompletion under Sublime Text”重复。
【参考方案1】:
如果您点击 CTRL-SPACE,您将获得您刚刚输入的可用补全的下拉列表。
http://www.sublimetext.com/docs/2/tab_completion.html
如果您希望在键入时显示自动完成下拉菜单,请将此行添加到您的 User Preferences.sublime-settings 文件中:
"auto_complete_selector": "source, text"
这应该可以满足您的需求:-)
【讨论】:
不幸的是没有帮助。我在 Windows 上的 ST2 上遇到了同样的问题,我正在尝试让那些 jQuery sn-ps 以自动完成功能运行。只是。没有。工作。 好的,找到问题了!请参阅下面的答案。【参考方案2】:考虑将用户设置更改为以下内容:
// By default, auto complete will commit the current completion on enter.
// This setting can be used to make it complete on tab instead.
// Completing on tab is generally a superior option, as it removes
// ambiguity between committing the completion and inserting a newline.
"auto_complete_commit_on_tab": true,
// Controls if auto complete is shown when snippet fields are active.
// Only relevant if auto_complete_commit_on_tab is true.
"auto_complete_with_fields": true,
// As Richard Jordan suggested, this item
// controls what scopes auto complete will be triggered in
"auto_complete_selector": "source, text"
在 Mac 上按 Cmd+, 或 Ctrl+, 在 Windows 上
如果你想完全掌握 Sublime Text 2,我推荐这门课程:Perfect Workflow in Sublime Text。当我第一次发布这个答案时,它曾经是免费的。无论如何,我仍然推荐它。
【讨论】:
【参考方案3】:您使用的是哪个操作系统?我猜是 Windows。
这里的问题似乎是可用插件中的 jQuery sn-ps 具有以 $ 或 . 开头的<tabTrigger>
属性,这导致麻烦。
尝试以下操作:找到包含这些 sn-ps 的 jQuery 包(在 Preferences -> Browse Packages 下)并打开不包含这些 sn-p 的 .sublime-sn-p 文件t 正常工作。您在帖子中命名的那个将在文件 event-on.sublime-sn-p 中定义。
找线
<tabTrigger>.on</tabTrigger>
并删除。如下
<tabTrigger>on</tabTrigger>
保存并返回到您的 .js 文件。现在看看当你键入 o 时是否出现 sn-p。这对我有用。
我猜这是 Windows 版 Sublime Text 2 中的一个错误(也可能是 Linux
在这个特定的包上有一个issue created on GitHub,我现在评论了这个信息。我想让这个工作的唯一方法是让 sn-ps 不以特殊字符开头。
我还提交了bug for Sublime Text on Userecho。
【讨论】:
【参考方案4】:视频的创建者正在使用SublimeCodeIntel。你在 00:50 看到的不是 Sublime Text 2 的自动补全弹窗,而是 SublimeCodeIntel 的导入自动补全弹窗:
导入自动完成 - 实时显示带有可用模块/符号的自动完成。
更多信息请参见the Github page。
【讨论】:
以上是关于Sublime Text 2 自动完成弹出窗口无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sublime Text 中禁用自动完成 (2&3)
MAC下的Sublime Text关闭自动更新提示,关闭更新检查,适用于Sublime 3和Sublime 4
MAC下的Sublime Text关闭自动更新提示,关闭更新检查,适用于Sublime 3和Sublime 4
sublime text 显示“unregistered”是啥原因?