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

Duplicate hints while typing expression in Visual Studio Code

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

示例:

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

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

我建议您仔细阅读扩展说明以了解它们的确切功能,然后找出您需要哪些。请记住,每个工作区的扩展可以 enabled/disabled。


以下纯属个人主观看法。在提供代码智能的 PHP 扩展中,只有两个看起来足够成熟:

  • PHP Intelephense
  • PHP智能感知

我都试过了。 PHP Intelephense 比 PHP Intellisense 更适合我,所以这是我一直保留的。我还在 installation instructions 之后禁用了 php.suggest.basic,因为基本建议对我没有任何价值(它们是盲字符串匹配):

Turn off the php.suggest.basic setting for best results.

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

"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFilesOnly"

YMMV.