使用 Intellisense 命名空间上的未定义类型

问题描述 投票:0回答:2

在处理使用 Composer json 自动加载的类时,我的项目中出现了未定义的类型。

这是我的composer.json 文件的摘录

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Shared\\": "../Shared/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ],
    "files": [
        "app/helpers.php"
    ]
},

自动完成功能无法识别 Shared 中的任何内容。

在 LanguageServer 日志中我发现 vs-code 正确解析了所有自动加载文件。

这是一个仅与 vs-code 和 intellisense/intelephense 相关的问题;当我运行该项目时,一切都像魅力一样工作。

如有任何帮助,我们将不胜感激。

php visual-studio-code intellisense intelephense
2个回答
1
投票

只需在 .vscode/settings.json 文件中添加以下 json 值即可:

{
    "intelephense.environment.includePaths": [
        "../Shared/"
    ]
}

不仅错误消失了,而且代码补全也开始工作了!


0
投票

将“答案”代码添加到您的工作区(设置).json 文件中(按 CTRL->SHIFT->P,在文本框中键入 settings.json)是有益的。选择工作区设置文件。workspcae 文件选项会覆盖文件夹和用户文件。这样,它将成为所有 VS Code 项目的默认值。:-)

© www.soinside.com 2019 - 2024. All rights reserved.