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.
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.
Could you please specify in more detail "detect magic constructors automatically"? We'll be happy to take a look at it, just send us an email to firstname.lastname@example.org or post it to our forum http://support.devsense.com.
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 email@example.com.
Thanks and have a nice day!
htaccess rules are used by Apache server. PHP Tools by default just use PHP build-in server(which is just simple server that comes with php framework) or IIS Express. Both doesn't support htaccess, but ...
- If you want to use php build in server, there is simple htaccess simulator project (https://github.com/jaytaph/HTRouter ) but it's not feature equivalent and it has its bugs. I wouldn't recommend it for any bigger project.
- for IIS Express you can convert htaccess file to equivalent for IIS/IIS express http://www.iis.net/learn/extensions/url-rewrite-module
- Or the best way to get htaccess to work is just to install Apache and run your projects with Apache ( just setup your project in project properties to use custom server and fill url of the project ). If you are going to deploy your php application to apache server, this is the way to go. So your development/production environment would be the same.
Is it possible to set a custom web root? I have set up a structure for my project that mirrors what will be on the final server it requires having sub directories in the project to protect php's that will only ever be included or required and contain vital information that can never be exposed to the client. It seems the only possible way to set the web root is to put the project file in the directory that is to be the web root but then the project no longer recognizes any folders above the one it's in and puts all the other files in the root of the project. I would prefer if there was an option in the properties dialog for the project to set the web root, since I'm sure this is being passed as a parameter to the built in php server. Will these be a feature available in the future or is there any way to possibly do this already?
You are right, that would be quite useful reasonable feature to configure relative path to actual server root.
For now, you can setup custom web server, and we'll try to put this option into close future update.
I'm writing php in Visual Studio using the PHP Tools extension. The code formatting of the PHP Tools doesn't seem to be working.
The formatting option is available in the options menu under 'Text Editor>PHP>Formatting'.
And I have tried linking the php-extension to the PHP Editor in the options menu under 'Text Editor>File Extension'.
But nothing seems to work. When I try right-clicking a php document and choose Formatting and Validation it goes straight to 'Text Editor>HTML (Web Forms)'.
The problem seems to lie with Visual Studio not recognizing php as a language. Anybody an idea? Thanks in advance.
Thanks for your post.
The reason why our code formatting is connected with HTML formatting is that very often php files also contains HTML code and we have to take into account also HTML formatting settings. In case you don't care about this case, you can turn off VS HTML support in php files (there will still be basic HTML support, syntax highlight and basic formatting) - Enable HTML Editor in PHP files => FALSE.
Anyway php formatting should work in both cases and by default with .php extension files. Just make sure the code is syntactically correct, if not we don't format it as there might be some unexpected results.
If formatting still doesn't work please contact us at firstname.lastname@example.org with code sample and we'll take a look into your particular case.
This is a great tool sir.
Thank you for doing this.
I have a question, can you please add refresh to the Solution Explorer View? I update my source control, but the files don't show up right away. I have to close project just to refresh the Project Folder.