I develop with Symfony, and I really miss a few things with PHP Tools: - Twig template support - With Symfony it's a must, but it's missing from PHP Tools - Invoke app/console for me to generate resource files or controllers - Auto-adding of new files - My project is shared among a group of people, most of them use other IDEs, and if they add new files, they have to be added manually to my project - "File Structure" tab is not supported - "Code Definition Window" is not supported - Sometimes files are saved with UTF-16 instead of UTF-8
I like PHP Tools, because it makes development with PHP possible in a familiar environment, but unfortunatelly it stops there. It's great to have a tool to edit simpler PHP projects, but the minimal support for any well-known PHP framework is missing. So as long as you edit your own website with only a few files or your WordPress PHP template, it does the job.
Hi John, Thank you for your review and list of features you are missing. We do prioritize our development list strictly based on feedback.
- Twig template support is currently in progress - Invoking commands,generating controllers, etc... will be supported in REPL window, which is planned - Auto-adding of new files. We are aware of this limitation and we are trying to figure this out, but it's going to be a longer run... It's kind of inherited behavior coming from how Visual Studio works with projects and need for project file. - File structure tab. We do not have dedicated window for this, but this information is available e.g. in navigation bar. - "Code Definition Window", The true is we didn't even know about this one. I've added it to the list. But there are currently alternatives as F12 or Alt +F12 (VS2013,VS2015) - We do not interact with encoding settings, but we do have an option to force saving as UTF8 without BOM on each file. Tools | Options | Text Editor | PHP | Advanced | Override PHP Files Encoding
Please let us know if you'd have any other feedback.
I am using in trial version, everything is alright but suggesting already defined variable automatically (like when pressing ctrl+space) seems restricted for trial version. Every basic source editor like notepad++, sublime suggests words that are already found in the current file. It should have been enabled and restricting other things like suggesting php inbuilt functions etc. Also it should have been made clear that it can be used in trial mode and try full feature and then can be used even after trial period finished. Official website seems vague about it and gives us the feeling like we have to explicitly buy it after using trial period. And avoid even to download and try out because of that. All in all, very good job guys, keep it up. Just make clear in website, it can be used in trial mode as long as we want and try out pro feature. That will bring hesitating users.
I use PHP Tools on daily basis, so I feel like I should also post a review (I do work at DEVSENSE). I really like how IntelliSense helps me to stay productive when I switch to PHP, as I usually code in C#. The switch between languages is less noticeable for me with each update of PHP Tools.
With the code assistance I do not need to look at PHP documentation almost at all. I do really like refactoring capabilities and ability to debug the code.
I love how I can use PHP Tools with the other great extensions as Web Essentials, Task Runner Explorer, etc.
I want to thank to the rest of the team for great work!
Find All References (F12) is supported functionality. If it doesn't work as expected, please contact us on support http://support.devsense.com or just emails us to email@example.com. We will help you to overcome the issue.
PHP Tools are using standard MSI installer, so uninstall is available at Control Panel (in Win10 in the Settings app). Visual Studio extensions manager is not able to remove complex extensions, only vsix installed extensions. That's why it's disabled there.
Anyway if Win 10 Settings app doesn't remove PHP Tools properly in your case, please contact us on firstname.lastname@example.org or on support http://support.devsense.com, we will be happy to assist you with any issue you might be having.
To be honest, not bad, but still can't catch up the PDT (Eclipse for PHP).
use \test\abc as abc; # a namespace named abc
when I typed
abc\ # here is no auto-completion for any child of namespace abc.
uh, here is some advantages that's better than PDT, if I typed
use abc\ClassA as ClassB;
the tips of ClassB will tells me the definition of ClassA, while PDT is just telling me ClassB is ClassA.
also, the auto-completion is not real good, when I typed
yes, it tips $this, but it's not auto selected. When I click ENTER, it gets a new line, instead of completing as $this. Here I wish it can auto select the first item in the list of auto-completion, so that I can click ENTER to finished typing quickly.
finally, please add the supports for constant array.
const ABC = [1,2,3,4]; $c = ABC; // here reports an error, but it's correct.
this is a new feature of PHP 5.6, and neither PDT nor phpstorm supports it so far.
Thank you very much for your review and suggestions!
There was an bug in the recent update causing the issue with namespace autocompletition, which is now fixed. You can download it from http://www.devsense.com/download
About the auto selecting for variables. By default it only tips, but doesn't select so you can create a new variables. Anyway you can turn pre-select in the PHP Tools Options. So it would behave as you are expecting.
Thank you for feature suggestion about const arrays. We'll take a look at it.
Please give us know if you'd run into anything else.
Update August 2015: I'm editing my review just to let people know that although early days, it does work fine with Visual Studio Community Edition 2015 on Windows 8 and on Windows 10. You can download community Edition free so using PHP Tools for VS is now even better.
Original review: The product is superb - excellent intellisense, debugging and code snippets.
I'm very happy to pay for good quality software and this is the right price.
One feature I have asked for is for the GUI to highlight unused and uninitialized variables, and they tell me this is in the pipeline. It's good to know this is under active, current development. *Update Feb 2015: This has now been implemented in 1.15 and is very good indeed, thank you!
I've used other php visual studio extensions, but I really like the usability of PHP Tools over the other plugins. Support for namespacing, solution variables and constants, and even for the newest PHP features is second to none.
The intellisense has tons of useful information, I don't find myself looking to php.net nearly as much to remember function/method signatures.
I've really enjoyed working with this plugin. After the trial period, I promptly purchased a license as this is where I'm going to stay.
Hello! I'm from Brazil! You are the best! People like you improve the world! Continue with this work and do not give up ! Congratulations ! I am very happy!Best PHP working tool! The Eclipse and Netbeans team should learn from you to facilitate the work of programmers.
Thank you for your feedback! Could you please specify in more detail what particular performance issue you've been having and more about the size of your project and hardware specs? Just email us at email@example.com, we'd really appreciate that we'll take a look at it ASAP.
Unfortunately Visual Studio Express licensing doesn't support extensions from other vendors than Microsoft. e.g. http://visualstudiomagazine.com/articles/2014/05/21/no-extensions-for-visual-studio-express.aspx
But, there is a free Visual Studio 2013 Community http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#d-community, which is basically VS Professional. You can install PHP Tools there.
Could you please re-evaluate once you try the extension? DEVSENSE unfortunately can't change the fact VS Express versions are not extensible.
On Options->Text Editor->PHP->Tabs, it doesn't save Keep tabs option. Another time starting VS2015 the setting is back to space for indent and alsways fills space instead of tab for indent. Please please FIX IT.
Thanks for the post! We do have reports about this issue from more users. Unfortunately it's in Visual Studio code, which we can't fix ourselves. We have reported this to Microsoft. Please see our support forum for the updates about this issue http://support.devsense.com/viewtopic.php?f=21&t=1629
I am trying to use the `password_hash` function in Visual Studio 2015 with the latest release of PHP tools and I am being told that the function does not exist, is this known or something that (and I am sure I speak for a lot of people) we want adding in to aid in security creation in out PHP projects?
Thank you and kind regards,
If I buy licence it will be yearly or life time package?
I know for download new version after year it would be charge but still confuse about it show me subscription end next year in visual studio.
When I start up debugger (using F10) I get an error...
The requested resource /?XDEBUG_SESSION_START=F7C6016 was not found on this server.
Any idea? Recently added license, everything worked fine until trial ran out. Just downloaded and installed newest version, 1.17.8075.2013.
Thanks for your post! This seems like a server settings more than debugger issue. IF you simply run your project without debugging (Ctrl + F5) do you see the expected page?
If not, it would be the server settings. Let's solve the issue through email, as I can see you've submitted the feedback earlier.
The latest updates (3) have broken a feature that the previous version finally fixed.
I had been waiting for months for a fix for When you type a namespaced function like: \namespace\class::method(args); then hit 'Enter', it aligns the next line's first column with the n in namespace instead of the same column as the '\'.
It was finally fixed 3 versions ago for the first time, the last of the 1.16.**** series. The last 3 (including the current version of 1.17.8019.2015) have broken this feature again.
It's the new improved smart indentation. I'm glad it works for you!
If you'd find some case you'd like to have us handled, please don't hesitate to give us know.
Have a great day,
I found a case where "Expand and Collapse" codes sections is now not working as expected. When you use ?><?php to insert html in a function, the expand/collapse button is no longer on the function statement, but on the html.
01 public static function do_something($args)
03 $var = 1;
The collapse is on line 6 and only collapses lines 6-13 instead of being on line 1 and collapsing lines 1-15
I have VS2013 Premium, loaded and activated the trial version. Tried to debug the hello world project template. It tries to run PHPHelper and install PHP with xdebug. It fails for ;
runphp : Failed.
Downloaded file failed signature verification and may have been tampered with
DependencyFailed : PHP 5.6.0 For IIS Express
DependencyFailed : Xdebug for PHP 5.6
Verifying successful installation...
RunPHP Helper False
PHP 5.6.0 For IIS Express False
Xdebug for PHP 5.6 False
Install of Products: FAILURE
I have admin and C++ redistributatble x64 installed. Any ideas. Googling this problem shows that I am not the only one that has had this but I am not able to find a solution.
Thanks for giving us know about this issue.
First thing please update WebPlatform installer, it's most likely not the cause of the issue, just to rule out some variables.
I'm thinking if that might be some firewall/proxy issue, all these packages are actually located at http://sourceforge.net/ . Could you please check if you are allowed to access it from your location?
Thank you for replying so quickly. I installed it at home, no proxy and it works. The problem was at work. However, I have full access to sourceforge, having downloaded from the site for a number of other items.
Is there a way to manually accomplish the same thing? We have separate .Net and PHP groups and I need to demo PHP integration into VS next week. BTW, I am on the .Net side.
You can accomplish completely the same thing manually. It might be a little bit of hassle though:
- Download https://sourceforge.net/projects/phpinstallermsi/files/zip/runphp.zip/download
- Unzip to %ProgramFiles(x86)%\runphp\
- Download http://sourceforge.net/projects/phpinstallermsi/files/php-5.6.0-nts-Win32-VC11-x86.zip/download
- Run /C copy "%ProgramFiles(x86)%\runphp\runphp.cmd" "%ProgramFiles(x86)%\iis express\PHP\v5.6\runphp.cmd"
- Unzip to "%ProgramFiles(x86)%\IIS Express\PHP\v5.6\ext\"
- and configure xdebug in your php.ini http://docs.devsense.com/Debugging/configuring-xdebug
I Hope that will help.
Thank you for notifying us about this! We will contact Kaspersky team to resolve this issue. But you can be sure, if the installer is signed by DEVSENSE code-signing certificate that it wasn't altered and it does what's supposed to do.
The software is distributed as a trial. You can use all the features like debugging, code completion, function signature helper, tooltips, datatips, navigation features, refactoring and others for 30 days.
After this period, without valid license, you can open your PHP projects and files without the ability to benefit from the features above.
After having a clean install of VS 2012 Ultimate I dowloaded PHP Tools, installed it with no errors, and then after restarting VS it seems that the extension is not installed although it is ( in my control panel I can unistall it for programs and extensions pane). Tried to restart my computer with no results though.
Any help is much appreciated!
Thanks for the post. What VS version do you have? Could you please check if the PHP Tools for VS are really installed in VS, just go to Help | PHP Tools for Visual Studio. If you can see the dialog PHP Tools are installed.
May I also ask you to send us VS Activity log, it would help us determine what's going. Just follow the instructions on this page http://www.devsense.com/doc/phptools/troubleshooting/activitylog-xml
Thanks for designing this very handy plugin!
I have a slight problem though. When I launch the debugger, it stops at breakpoints only if I set "Start Action" to "Current page" in the project properties. Any idea why it's not working with the "Start URL" option?
Some system info:
- Wamp (standard config)
- the "Start URL" I wish to use: http://localhost/MyProject/web/app_dev.php
- In the properties, "Servers" is set to "PHP built-in Web Server" with host name "localhost" (standard config I believe)
- "Apply servers settings to all users" is ticked...
Thanks for your post!
If you have WAMP, and you are also going to deploy your application to Apache... I would recommend not using PHP build-in Web Server, but use WAMP instead.
You'll just have to setup virtual directory on WAMP to the project root and in project properties setup Servers to Use custom web server: and fill the virtual directory of your project/website.
But back to the Start URL option. That should work the same way as current page. Make sure when you hit F5 that your browser is opened with XDEBUG_SESSION_START added to your url. This way xdebug is instructed to start the debug session.
You can also instruct xdebug to try to init debug sessions each time by adding this to your php.ini:
xdebug.remote_autostart = on
VS will handle it correctly and only debug when VS is in debug mode.
Please give me know if any of that helped or you'd need additional assistance.
Thanks for your answer!
I followed your advice and created a virtual directory for my project. It went fine.
However, I am still not able to make xdebug work as expected. XDEBUG_SESSION_START appears indeed in the url of my browser but the page does not stop at breakpoints in VS.
This is not a big issue though, I can live without it and I don't want to waste your time for a minor problem.
Thanks for helping!
Thanks for the response.
You can try to go through debug troubleshooting: http://www.devsense.com/doc/phptools/debug/troubleshooting
But strange thing is it works with current page, but does not with start url option. If you'd like we could take a look together, just write us to firstname.lastname@example.org.
Thanks and have a nice day!