VS Code强调了我所有的WordPress函数名称

94

我正在使用最新版本的PHP Intelephense(版本1.3.7),我的VS Code也是最新的。之前没有问题,但几天前,它一直在突出显示所有我的WordPress函数名称。我尝试降级我的PHP Intelephense,但情况仍然存在...任何帮助将不胜感激。

enter image description here

6个回答

157
您需要将 "wordpress" 添加到您的VS Code设置文件中的 intelephense.stubs 数组设置中。该数组也应该列出许多其他存根。例如:(“wordpress”在底部)

您必须将“wordpress”添加到VS Code设置文件中的intelephense.stubs数组设置中。该数组还应该包含许多其他存根。例如:(“wordpress”位于底部)

//  VS Code settings.json
{
    // ... other settings here ...
    "intelephense.files.maxSize": 3000000,
    "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"
    ]
}

您还可以查看这些 GitHub 问题:


3
如果你想要支持 WP 函数/类本身,这很棒。但是,如果你仍然看到一些被红色标记的函数,则可能来自插件,因此你需要将插件代码添加到项目中或创建一个桩文件。 - jave.web
非常感谢您的回答,我一直在努力找出这个问题。在VS Code设置中,我通过搜索"stubs"找到了intelephense stubs,并成功将"wordpress"添加到列表底部。 - David Ayres
这让我的生活更加轻松,不仅 WordPress,其他函数也可以通过 vscode 来理解。 - Daniel Jeney

129

解决方法很简单,只需将WordPress添加到Intelephense: Stubs列表中。

1:按下(Ctrl+Shift+X)打开左侧的扩展栏,搜索PHP Intelephense

2:点击扩展程序的设置图标,选择“扩展程序设置”。

扩展栏截图

3:向下滚动到底部查看Stubs列表。

4:点击“Add Item”,从列表中选择wordpress

扩展程序设置菜单截图

如果更改未生效,请尝试关闭并重新打开Vscode。

这将解决与内置WordPress函数相关的问题,但它将无法识别已安装插件中的任何函数。


2
谢谢!截图真的很有帮助。 - Muhammad Usama
谢谢您提供完整的步骤。但是我仍然遇到问题,即使WordPress也在列表中... - Mike Castro Demaria

4
也许我漏掉了什么,但我从来没有遇到这个问题,我认为原因就是我一次性在VS Code中打开整个WordPress站点目录。你只是打开你的主题目录吗?如果是这样的话,这些函数缺失是有道理的,因为它们不在项目中。打开整个站点,这个问题就会解决。你也会正确地导入所有主题和插件功能。

1
完成以上所有操作后,这就是答案。 - Alaa El- Saedy

0

你只需要在扩展设置中将WordPress项目添加到Intelephense: Stubs中。

enter image description here


与一年前的 https://dev59.com/zVIH5IYBdhLWcg3wYs8S#65275602 相比,重复的解决方案缺少细节。 - grg

0
如果你在vs code中只加载子主题文件夹,它会为你的WordPress函数提供高亮显示。但是,我建议你在vs code中加载整个WordPress文件夹。 这对我很有效。 谢谢。

1
你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人能够确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

-1

Adam allaloudrwatsoncode 都是正确的,它们可以正常工作。但是请注意,为了确保更改生效,请不要忘记关闭并重新打开您的 VsCode 编辑器。


1
除了它实际上不是一个答案外,这并不反映我的经验。 - grg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接