Let's take a look on the new updates in PHP Tools and Visual Studio. The PHP editor provides more navigation features, debugger works smarter with breakpoints, and the overall stability and performance has been improved.
The editor provides several new features and enhancements; the first one is the re-enabled structure guideline, which was introduced in Visual Studio 2017. It is now a part of the Visual Studio 2019 and 2022 as well, providing structure guidelines for all the PHP code blocks. This feature can be newly disabled in
Options, under the
Text Editor /
Highlighting of symbols under the cursor has been improved to take the
@global PHPDoc keyword,
switch block into the account:
Newly, the editor understands the
@see PHPDoc tag, so it highlights the symbol specified in there, shows the clickable link in tooltips, and it provides code completion:
The other improvements are under the hood:
@globalkeyword above a function into the account.
array_flip()is more precise.
Newly it is possible to add breakpoints based on function name. PHP Tools debugger supports the whole range of special prefixes and suffixes, and it intuitively adds breakpoints to all the matching functions and methods. It is sufficient to enter just the method name, without the type name prefix:
The syntax for the function breakpoint is
function_name can be fully qualified or the namespace part can be omitted. For example, the following syntaxes are possible:
Names that are not fully qualified will be searched for within available namespaces, so you can only type the name without the long namespace. A useful feature is the
directory_string! prefix, which allows to restrict breakpoints only to functions defined in files that have the specified
directory_string as a part of its path.
Another great improvement is the automatic adjustment of the breakpoint position. Sometimes the breakpoint must be put on a specific line, so it gets hit by the underlying debugger extension. Newly, the PHP Tools debugger adjusts the breakpoints to the correct line, so it gets hit correctly. This solves the issues with multi-lined statements, empty functions, breakpoints placed on the opening curly brace
Additionally, there are a few fixes in Remote Explorer; it now correctly creates a new directory on the remote machine, improves performance when switching profiles, and more. We'll be continuing improving the this new tool window in the upcoming releases as well.