我有一些在CakePHP 2应用程序中到处使用的助手函数。它们在控制台中用红色划线,并报告为“未定义函数”。我知道我可以只是ignore the errors,但我希望它继续正常工作,特别是如果我能够设法使alt-click与它一起工作的模型。
在我的VS代码settings.json中,我有以下内容:
"intelephense.stubs": [
"apache", "bcmath", "bz2", "calendar", "com_dotnet", "Core", "ctype", "curl", "date", "dba", "dom", "enchant", "exif", "FFI", "fileinfo", "filter", "fpm", "ftp", "gd", "gettext", "gmp", "hash", "iconv", "imap", "intl", "json", "ldap", "libxml", "mbstring", "meta", "mysqli", "oci8", "odbc", "openssl", "pcntl", "pcre", "PDO", "pdo_ibm", "pdo_mysql", "pdo_pgsql", "pdo_sqlite", "pgsql", "Phar", "posix", "pspell", "readline", "Reflection", "session", "shmop", "SimpleXML", "snmp", "soap", "sockets", "sodium", "SPL", "sqlite3", "standard", "superglobals", "sysvmsg", "sysvsem", "sysvshm", "tidy", "tokenizer", "xml", "xmlreader", "xmlrpc", "xmlwriter", "xsl", "Zend OPcache", "zip", "zlib", "wordpress",
"./Config/core.php"
],我的理解是,它允许将自定义.php文件作为存根导入,以便Intelephense能够识别它们。但是,我输入的路径不起作用。我已经尝试了我能想到的一切:
如何让Intelephense识别core.php,它本质上只包含一些设置和一些助手函数,例如:
// just an alias for json decode
function jdec($json) {
return json_decode($json, 1, 512, JSON_INVALID_UTF8_IGNORE);
}注意:我确信我在Intelephense方面的困难与CakePHP 2框架没有严格的关系。
发布于 2020-11-02 13:47:12
我认为需要将CakePHP 2位置路径添加到intelephense.environment.includePaths设置中。
下面是类似情况下的工作区配置示例。我在工作区之外包含了库,因此我指定了这些库的路径:
"intelephense.environment.includePaths": [
"/path/to/lib1",
"/path/to/lib2"
]在此之后,包含的库中的所有函数都被Intelephense正确地索引,不再被标记为undefined。
https://stackoverflow.com/questions/64598233
复制相似问题