Intelephense 存根不会在 CakePHP 2 中加载
Intelephense stub won't load in CakePHP 2
我有一些辅助函数,我在 CakePHP 2 应用程序中随处使用。它们带有红色下划线,并在控制台中报告为 'undefined functions'。我知道我可以 ,但我希望它能正常工作,特别是如果我能设法让 alt-click 与它一起用于模型。
在我的 VS Code 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 识别它们。但是,我输入的任何路径都不起作用。我已经尝试了所有我能想到的:
- C:/wamp64/www/MY_APP/app/
- ../App/Config
- 根本不添加 .php,根本不添加文件
- 还有很多!
我怎样才能让 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 框架不严格相关。
我认为您需要将 CakePHP 2 位置路径添加到 intelephense.environment.includePaths
设置。
这是我针对类似情况的工作区配置示例。我在我的工作区之外包含了库,所以我指定了这样的路径:
"intelephense.environment.includePaths": [
"/path/to/lib1",
"/path/to/lib2"
]
在此之后,所包含库中的所有函数都被 Intelephense 正确索引,不再标记为 undefined
。
我有一些辅助函数,我在 CakePHP 2 应用程序中随处使用。它们带有红色下划线,并在控制台中报告为 'undefined functions'。我知道我可以
在我的 VS Code 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 识别它们。但是,我输入的任何路径都不起作用。我已经尝试了所有我能想到的:
- C:/wamp64/www/MY_APP/app/
- ../App/Config
- 根本不添加 .php,根本不添加文件
- 还有很多!
我怎样才能让 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 框架不严格相关。
我认为您需要将 CakePHP 2 位置路径添加到 intelephense.environment.includePaths
设置。
这是我针对类似情况的工作区配置示例。我在我的工作区之外包含了库,所以我指定了这样的路径:
"intelephense.environment.includePaths": [
"/path/to/lib1",
"/path/to/lib2"
]
在此之后,所包含库中的所有函数都被 Intelephense 正确索引,不再标记为 undefined
。