2021-09-05:

Undefined function ‘CheckIsRefererValid’.intelephense(1010)

一直以来,即使设置了intelephense.environment.includePaths,也时不时会出现函数未定义的提示,一个可能有关的原因是文件路径的分隔符不统一;

可以尝试将intelephense.environment.includePathsfolders中的项目路径格式统一改为"..\\..\\..\\zb_system""../../../zb_system"中的一种,然后关掉窗口重新打开「*.code-workspace」工作区;

试了几个项目,然而并不能明确是复现。。也是超纠结。。


首先语法提示和检测用的是这个插件:

PHP Intelephense - Visual Studio Marketplace

https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client

主要用来写 Z-Blog 的插件,「*.code-workspace」文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"folders": [
{
"path": "."
},
{
"path": "../../../zb_system"
}
],
"settings": {
"intelephense.environment.includePaths": [
"../../../zb_system"
]
}
}

配置中已经针对当前工作区设置了intelephense.environment.includePaths属性,如果没有该设置,那么当在主题或插件中使用zb_system文件夹中的函数中会提示未定义。

Undefined function 'AddNameInString'.intelephense(1010)


方案来自:

Allow folders to be included outside of workspace · Issue #253 · bmewburn/vscode-intelephense

https://github.com/bmewburn/vscode-intelephense/issues/253