Introducing PHP Tools for Visual Studio, version 1.57! This update brings the new Object ID support in debugger, Project Events, improvements to Remote Explorer and corresponding remote profiles, and improves overall stability and existing features.
This update improves the existing debugger functionality and adds new features. Neat improvements are:
Make Object ID
below.The new debugger feature allows marking an object from Watch Window or Quick Watch using Make Object ID
context menu command. The marked object can be tracked during the whole request execution.
Marking an object creates a weak reference which can be always revealed in Locals window or in Watch window using $1
alias (or $2
, $3
, ... correspondingly). Marked objects are also marked in quick watches by its {$-index} alias. This works even within arrays and inside other objects.
Newly, the Watch and the Immediate Window allow expanding complex expressions, including results of function calls, magic properties, and complex combinations with operators.
Also, array values as a result of such complex expressions can be now expanded and listed through all its entries. It is not limited to 32 entries anymore.
IntelliSense tool-tips and error tool-tips are now shown even during debugging. Previously, tool-tips were only displayed when Visual Studio was in design mode (not debug mode).
An important part of the project workflow is automatization. With the new update, there are customizable Project Events
allowing to trigger commands upon certain events. Open the Project Events
in Project Properties:
Creating or editing events looks like the following dialog.
Initially, there are the following triggers:
Project Opened
gets triggered when a project is opened in Visual Studio.Before Publish
is called before publish (i.e. upload pending changes) gets started.After Publish
gets called after the publish.After Clean
is triggered by Project / Clean command.Files Changed
happens when a file is modified both inside or outside Visual Studio.File Saved
is caused by saving a file inside Visual Studio.And the following actions to choose from:
Publish
uploads pending changes using a selected remote profile. In the case of File Saved
only that file is uploaded.Custom Command
allows entering custom cmd commands. The commands have php.exe
(chosen on Application
project property page) in its %PATH% environmental variable.The Publish and the whole Remote Explorer are more configurable now. Open the Remote Explorer and follow the Manage
button.
It is now possible to specify wildcard file mask to simply ignore files or folders from being tracked by the Remote Explorer. Folders or files matching the Ignored wildcards won't be shown and won't be uploaded to the remote servers.
Secondly, there is an option to choose Publish Scope
; whether to track the whole project directory (All Files in Project Folder
) or to track files included in the project, i.e. the files shown in the project in Solution Explorer (Files Included in Project
).
Finally, the Remote Explorer respects the legacy setting - Publishable
- which could be set in project items properties. File items annotated with this project property are ignored by the Remote Explorer. This feature requires you to set the Publish Scope
to Files Included in Project
.
We have made improvements when configuring automatic uploads to the remote server. It is more configurable, using the new Project Events, and the option is more accessible.
Open the Remote Explorer and change the Auto
setting. Clicking Manage Project Events
opens all the project events, where additional settings can be changed.
Expanding .phar
files in Solution Explorer reveals corresponding file icons as well now. See the screenshot below:
extends
and implements
.Remote Explorer
to correctly create directories on SFTP server.Remote Explorer
to be working with Open Folder feature.Remote Explorer
UI glitches.Please follow the Release Notes for the details.