为什么我在输入表达式时有相同的建议?
例子:
Visual Studio Code 提供了一个 API,因此第三方扩展和内置模块可以为自动完成弹出窗口提供建议。该系统目前的设计只是附加了建议——没有重复检测或删除(也许因为扩展也可以处理排序建议,并且这样的算法会继续进行)。这意味着,如果您有多个给定语言的扩展或模块,您可以轻松获得重复条目。
拥有几个 PHP 扩展不一定是一个坏主意,因为它们可以满足不同的需求(例如,PHP DocBlocker 只是创建注释,它不提供自动完成建议),但你至少有两个扩展(PHP Intelephense 和 PHP Intellisense ) 做完全相同的事情。这可能会损害性能(您的所有工作区文件都将被扫描多次)并且只会添加噪音。
我建议您仔细阅读扩展描述以了解它们的确切作用,然后找出您需要哪些。请记住,可以在每个工作区的基础上启用/禁用扩展。
以下只是我个人的完全主观意见。在提供代码智能的 PHP 扩展中,只有两个似乎足够成熟:
我都试过了。PHP Intellephense 比 PHP Intellisense 对我来说效果最好,所以这是我保留的那个。我还禁用php.suggest.basic
了按照 安装说明进行操作,因为基本建议对我没有任何价值(它们是盲串匹配):
关闭
php.suggest.basic
设置以获得最佳效果。
...以及驯服内置的 Emmet 支持,它提供了非常愚蠢的建议:
"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFilesOnly"
YMMV。