在PhP数组中按Tab时,SublimeText3中的自动完成错误

我正在使用SublimeText3。

当我在 in 中工作时,按键提出的自动完成功能完全惹恼了我。arrayPHPTab

我只想添加一些表格,但在每次我按,崇高文本建议我:Tab

array(<list>)
Create a PHP Array.

如果只是再次按下,他验证命题并写入文件。Tab<list>

我已经安装了这个插件:

{
    "installed_packages":
    [
        "Alignment",
        "ApacheConf.tmLanguage",
        "BracketHighlighter",
        "Comment-Snippets",
        "Comments Aware Enter",
        "eZ Publish Syntax",
        "HTML5",
        "jQuery",
        "LESS",
        "SublimeCodeIntel",
        "sublimelint",
        "Symfony2 Snippets",
        "Theme - Soda",
        "Twig"
    ]
}

如果有人知道如何禁用这个糟糕的命题或纠正它?

谢谢。


答案 1

更新 01-29-14

在Github上,有人找到了比我之前发布的更好的解决方案。新的解决方案

打开 your_packages_folder/SublimeCodeIntel/codeintel2/tree_php.py,并将数组添加到第 140 行周围的工具提示忽略数组中。

php_ignored_calltip_expressions = ("if", "elseif",
                                   "for", "foreach",
                                   "while",
                                   "switch",
                                   "array"
                                   )

旧解决方案

我在github上找到了一个临时解决方案。

注释掉或删除 SublimeCodeIntel/codeintel2/tree_php.py 中的第 100 和 101 行

"array": "array(<list>)\n"
"Create a PHP array.",

然后删除 OS X 上用户目录中的 ~/.codeintel 文件夹,不确定此缓存在 Windows 上的位置。


答案 2

刚刚开始使用Sublime Text 3,这个问题已经困扰了我几个星期。即使有“auto_complete_commit_on_tab”:false和“tab_completion”:false,它仍然存在。我最终在Sublime论坛中查找并找到了此线程,它建议您将此代码添加到密钥绑定中:

{ "keys": ["tab"], "command": "insert", "args": {"characters": "\t"}, "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.tab_completion", "operator": "equal", "operand": false }
    ]
}

它实质上是重新映射 Tab 键以强制使用选项卡,而不是允许代码段自动完成工作。


推荐