PHP Tools for Visual Studio v1.88.18450
Released: Feb 4, 2026
v1.88.18450 での更新項目
機能
- PHP Language and Syntax Support:
- Added support for PHP 8.5
clone used as a function with the new syntax and an optional argument.
- Added support for PHP 8.0 dereferenceable string syntax.
- The
empty-string type hint is now fully recognized.
- Type Analysis and Code Diagnostics:
- Improved type inference for
is_numeric().
- Added a diagnostic for always-false strict comparisons.
- Made deprecation checks for legacy constructors more detailed.
- Improved override checks for
enum definitions with complex inheritance hierarchies.
- Improved unknown-type checks for union and intersection types in typed properties.
- Unused function declarations are no longer reported for
__construct and other magic methods.
- Static Analysis Annotations and Suppression:
- The
@suppress (or @suppresswarnings) tag now recognizes selected PHPMD codes.
- Support for
@psalm-assert-if-true and @psalm-assert-if-false.
- Support for
@phpstan-assert and @psalm-assert with type hints prefixed by =, as used by PHPUnit's assertInstanceOf().
- The
@phpstan-ignore-line annotation is now respected.
- Refactoring, Code Actions and Formatting:
- Added new quick refactoring to replace
array_merge() with array spread syntax.
- Added new quick refactoring to clean up unnecessary parentheses around
new expressions in PHP ≥ 8.4.
- Added new quick refactoring to convert anonymous functions into the new callable syntax.
- IntelliSense and Code Completion:
- Improved completion of variable names inside the
compact() function.
- Completion of array keys when defining arrays inside function calls with structured array parameter hints.
- Framework and Tooling Support:
- Improved library support for CodeIgniter 3 projects.
- Enhanced CI3 support by adding dynamic properties to
CI_Controller based on loaded libraries.
- Testing and Documentation:
- Added inline PestPHP test case runner support.
- Updated multi-language PHP manual.
- Diagnostics for Unoptimized Special Compiler Functions:
- Added new diagnostic
PHP6616 reports calls to special compiler-optimized functions that are not imported into the current scope and therefore cannot be translated into more efficient opcodes.
不具合の修正
- PHP Language and Syntax Support:
- Fixed syntax errors involving
Echo used as part of a namespace name.
- Type Analysis and Code Diagnostics:
- Fixed issue to correctly resolve multiple negative
@phpstan-assert-if-* annotations using the empty-string type hint.
- Fixed a false warning when accessing an array item of a structured array type after it has been modified.
- Fixed a false deprecation warning for
ReflectionMethod::__construct().
- Fixed false errors when using member fields or anonymous functions in constant expressions.
- Fixed an invalid "unnecessary parentheses" hint in
and / or conditions.
- Fixed incorrect code flow expansion caused by
@phpstan-assert.
- Refactoring, Code Actions and Formatting:
- Fixed quick fixes inside attributes.
- Fixed a code action that incorrectly converted code to an arrow function containing the object operator (
->).
- Fixed the Align Consecutive Assignments feature so it now works correctly inside closures and anonymous functions.
- Fixed issue so that arrow functions (
fn) are no longer suggested inside constant expressions.
- PSR-4 class name fixes are no longer suggested when the file name is not a valid class identifier.
- IntelliSense and Code Completion:
- Auto-import now respects existing
use groupings and adds new imports into the appropriate group.
- Fixed issue so that references to methods defined in trait adaptation blocks, including renamed methods, are correctly resolved.
- Framework and Tooling Support:
- Fixed broken type inference when a method in a Composer package returns
self but is only annotated in a base interface.
- Respects generated
_ide_helper, _laravel_idea, and _laravel_ide files in diagnostics.