PHP Tools for Visual Studio v1.73.17725

Released: Apr 20, 2023

v1.73.17725 での更新項目

機能

  • Profiler Tool
    • A simple and efficient way of profiling your PHP projects has been added. The new Profiler Tool Window allows you to quickly start profiling, inspect requests and inspect profiling data.
  • Code Formatter and Code Styles
    • Now includes a completely revamped code formatter that offers greater flexibility and customization options, including the ability to set formatting options from predefined code styles.
  • Refactorings
    • The existing code actions have been improved, simplifying various expressions. Also, a new action has been added: converting a string with a class name to syntactically valid ::class pseudo constant:
  • IntelliSense
    • Code completion inside trait adaptation blocks has been added. This gets correct keywords, trait names, and function names in the correct context.
    • IntelliSense now takes the 'phpstorm.metas expectedArguments()' annotation into account. Code completion provides the list of expected arguments if possible.
  • Doc Blocks
    • @uses and @see PHPDoc tags are now recognized correctly, and the reference symbol names get IntelliSense features - refactoring, highlighting, and tool tips.
    • Various improvements have been made to the PHPDoc type system, so it respects PHPStan and Psalm conventions.
  • Code Diagnostics
    • Analysis has been improved to avoid false warnings.
    • Fully supports new PHP 8, 8.1, and 8.2 union and intersection types.
    • Unknown properties or non-static methods called statically are now reported.
    • Highlighting and code fixes for unused use have been optimized and now respect types within @method, @see, and @uses.
    • class_alias() are now respected when checking type inference.

不具合の修正

  • Stability fixes.
  • Performance improvements.
  • Less memory usage.
  • Fixes crash when having large generated Drupal files.
  • Code completion lists static, as, insteadof keywords correctly when they're needed.
  • Doc block types iterable<K,V> and array<K,V> are treated correctly.
  • The type specified as ?static is treated correctly as a nullable static.