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 遇到问题。安装后,我没有弹出带有 jQ​​uery 代码提示和 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 函数,例如 addaddClass。即使按 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”是啥原因?

如何防止“。”(点)取消 Sublime Text 2 中的自动完成功能?

如何在os x下让sublime text编译c程序