我正在使用 PHP Intelephense(版本 1.3.7),这是最新版本,我的 VS 代码是最新的 之前没有问题,但几天前,它一直突出显示我所有的 wordpress 函数名称 我试图降级我的 PHP Intelephense但情况仍然存在..任何帮助将不胜感激
这让我很困扰,因为随着我今天收到的 PHP Intelephense 的最新更新,intelephense 不断显示未知属性、函数的错误。
这是我的代码:
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Firm extends CI_Controller
{
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题,我通过 Pecl 安装了 Imagick,但 Intelephense 不知道如何处理该扩展并且未能显示任何代码完成,即使该扩展已正确安装在 php.ini 文件中并且工作正常。
一些屏幕截图,以使其更加清晰:
1.使用 Imagick 的代码
2. 显示 imagick 扩展安装在 php.ini 中的 Bash 输出:
ddruganov@MBP-Demid:~$ php -i | grep imagick
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.skip_version_check => 0 => 0
Run Code Online (Sandbox Code Playgroud)
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
Run Code Online (Sandbox Code Playgroud) 我在 VS Code 中使用 PHPCS 和 PHPCBF 进行 WordPress 开发。
(按照https://github.com/tommcfarlin/phpcs-wpcs-vscode中提到的说明)
虽然 PHPCBF 按照 WPCS 格式化代码,但我仍然觉得代码看起来非常丑陋,尤其是当 PHP 文档中存在 Html 标签时。
当我使用 Intelephense 格式化 Php 代码时,代码看起来赏心悦目,包括正确缩进的 Html 标签。使用 Intelephense 的代价是代码不再符合 WPCS。有一个选项可以将 WordPress 作为存根包含在 Intelephense 中,但这仅用于包含 WordPress 特定功能,与格式无关。
使用 Intelephense 格式化时遇到的一些问题是:
<?php
// this is a blank line inserted by Intelephense which is causing error no.2 provided in summary above
/**
* This is a sample file
*
* @package something.
* something something
* something something
*/ …Run Code Online (Sandbox Code Playgroud) 我的系统是centos 7.6,intelephense1.3.11,vs代码1.44.1
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
);
// Create a new PDO instanace
$pdo= new PDO($dsn, $user, $pass, $options);
$pdo->exec("set names utf8");
$groupsql = $pdo->query('SELECT * FROM lime_groups WHERE sid=' .$survey_id.' ORDER BY group_order');
$groupres = $groupsql->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
我只想通过删除空行、右缩进来格式化我的脚本。
至于上面的脚本,我ctrl+A,然后ctrl +shift +I,空行仍然存在。
在 vs code 中格式化我的 php 脚本时如何使用intelephense删除空行?
我将 Visual Studio Code 与 Intelephense 结合使用,这对我的所有项目都产生了奇迹,除了一个项目,其中每个类都显示为未定义,直到我打开包含该类的文件。因此我怀疑 Intelephense 没有扫描这个项目。
网络上的一些建议提到执行“清除缓存并重新加载”,但是我在任何地方都找不到这个选项。谁能告诉我在哪里可以找到这个吗?
我使用的是 Windows 10、VS Code 1.46.1 和 Intelephense 1.4.1
在config/app.php
'aliases' => [
'Route' => Illuminate\Support\Facades\Route::class,
],
Run Code Online (Sandbox Code Playgroud)
当我使用Route类似routes/web.php
Route::get('/', 'UserController@home');
Run Code Online (Sandbox Code Playgroud)
我在我的vs code中安装了php intelephense扩展。这样它就会显示错误,例如
有谁知道如何解决这个问题?(功能运行正常,但显示错误就是问题所在)
假设有下面一段代码:
<?php
declare (strict_types = 1);
define('SOURCE_PATH', 'C:\xampp\htdocs\atlantis\ProductImages\\');
$dest = explode('\\', SOURCE_PATH);
$dest[count($dest) - 2] = 'ToUpload';
$dest = implode('\\', $dest);
function transfer(string $file)
{
global $dest;
if (!@chdir($dest)) {
mkdir($dest);
chdir($dest);
}
// ...
}
function compress(string $path)
{
global $dest;
$zip = new ZipArchive();
$zip->open(dirname($dest, 1) . '\\' . explode('\\', SOURCE_PATH)[count(explode('\\', SOURCE_PATH)) - 2] . '.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
// ...
}
Run Code Online (Sandbox Code Playgroud)
因此,VS Code 上的 intelephense 不断抱怨我在函数中Expected type 'string'. Found 'string[]'.使用的所有四个实例......$dest
intelephense 不喜欢我的代码的什么?请注意,页面运行良好... string[] 类型是什么? …
我是 Visual Studio Code 和 intelephense 的新手。我正在使用 WordPress 并使用一个名为 WP_CLI 的类,这是一个已安装的系统。所以,如果我没记错的话,类 WP_CLI 不在我的路径中,所以我得到Undefined type 'WP_CLI'.intelephense(1009)
对我来说,理想的解决方案是能够告诉 inteliphense WP_CLI 是在其他地方定义的,而不用担心这个错误。不要完全禁用未定义类型。
我找不到禁用它的评论。我找到了类似/** @var int $foo */的变量,但找不到它的文档,所以我可以对类做同样的事情。
有没有办法做到这一点?
我正在使用 iis 和 vscode 来完成 php 工作。我最近将iis从php7.3更新到php7.4。我的问题是vscode仍然使用php7.3。我在 google 上搜索了如何更改 vscode 中的版本,几乎所有资源都说有一个 JSON 文件可以在“文件”>“首选项”>“设置”中的 php 设置下进行更改。当我搜索 php 时,我没有看到任何这些选项。我究竟做错了什么?
intelephense ×10
php ×7
wordpress ×3
alias ×1
codeigniter ×1
imagick ×1
laravel ×1
phpcs ×1
wp-cli ×1