Visual studio code 在Visual Studio代码中键入表达式时重复提示

Visual studio code 在Visual Studio代码中键入表达式时重复提示,visual-studio-code,autosuggest,code-hinting,Visual Studio Code,Autosuggest,Code Hinting,为什么我在输入表达式时会有相同的建议 示例: Visual Studio代码提供了一个API,因此第三方扩展和内置模块可以为自动完成弹出窗口提供建议。该系统目前的设计是这样的:建议只是附加的,没有重复检测或删除(可能是因为扩展还可以处理排序建议,这样的算法也可以实现)。这意味着,如果给定语言有多个扩展或模块,则很容易获得重复条目 拥有多个PHP扩展并不一定是个坏主意,因为它们可以满足不同的需求(例如,PHP DocBlocker只创建注释,不提供自动完成建议),但至少有两个扩展(PHP Inte

为什么我在输入表达式时会有相同的建议

示例:


Visual Studio代码提供了一个API,因此第三方扩展和内置模块可以为自动完成弹出窗口提供建议。该系统目前的设计是这样的:建议只是附加的,没有重复检测或删除(可能是因为扩展还可以处理排序建议,这样的算法也可以实现)。这意味着,如果给定语言有多个扩展或模块,则很容易获得重复条目

拥有多个PHP扩展并不一定是个坏主意,因为它们可以满足不同的需求(例如,PHP DocBlocker只创建注释,不提供自动完成建议),但至少有两个扩展(PHP Intellephense和PHP Intellisense)可以做完全相同的事情。这可能会影响性能(您的所有工作区文件都将被扫描多次),只需添加noice即可

我建议您仔细阅读扩展描述,了解它们的确切功能,然后确定您需要哪些功能。请记住,可以在每个工作区的基础上启用/禁用扩展


以下是我自己完全主观的观点。在提供代码智能的PHP扩展中,只有两个看起来足够成熟:

  • PHP Intelephense
  • PHP智能感知
两种我都试过了。PHP Intellephense比PHP Intellisense更适合我,所以我一直保留着它。我还禁用了下面的
php.suggest.basic
,因为基本建议没有给我增加任何价值(它们是盲字符串匹配):

关闭
php.suggest.basic
设置以获得最佳结果

。。。以及驯服内置Emmet支持,它提供了非常愚蠢的建议:

"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFilesOnly"

YMMV.

您是否正在使用
所有自动完成扩展不,我没有使用此扩展您正在使用什么扩展?这表明您同时启用了三个针对同一语言的扩展。@Alexmeyers,对于PHP,我使用了6个扩展:PHP DocBlocker、PHP Intellephense、PHP Intellisense、PHP轻量级工具箱,PHP名称空间解析器,PHP符号。我只是尝试禁用所有扩展,只有一个建议,没有重复。但是我想使用PHP Intelephense扩展。所以我想,有没有办法只从VS代码或PHP Intelephense中删除建议?您想使用PHP Intelephense,但不想使用它的建议?您需要检查扩展文档,但我认为这是不可能的。这也是一个奇怪的请求:你在其他地方也会被复制(“转到符号”、“偷看定义”等)。你到底想完成什么?我只是想知道其他php开发人员如何处理这件事。什么都没有?我不能代表其他人说话,但我只使用一个提供给定功能的扩展。当有几个可用时,我会逐个评估它们,从下载最多的一个开始,可能会跳过那些看起来太粗糙的。在这种情况下,你有来自VS代码和其他扩展的建议,这些建议重复了,对吗?我也只用了一个。但建议仍然重复。