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 this, we use in Visual Studio Professional 2012 Update 4. Version you are using is 1.14.5747.2012.
This is a great application that does not impair the operation feeling of VS. However, there are some drawbacks, it is a personal sorry.
• In order to "Ctrl + M, Ctrl + L" of VS function does not work, it is not easy to switch between outline. • In intellisense of method, description of the return value is not out. • File when you have opened, all outline will be deployed, it does not return to the state it was in when you close the document. • Class, when folded comments of methods, all is "summary".If possible, I want to display the first line of the description. • Not multi-localized difference. I hope the Japanese.
And if possible, I want you to solve these problems that plague me. I am looking forward to the further growth.
Thank you very much for your review and suggestions on particular features!
1.) 1.15 has Ctrl + M + L support 2.) 1.15 supports this 3.) This is unfortunately outside of our control. We're using Visual Studio HTML editor which does this. You could always turn off Visual Studio HTML support and then it will be using our basic HTML support which supports this feature ( Tools | Options | PHP Tools | Advanced | Enable HTML Editor in PHP files => FALSE ) 4.) Supported in 1.15 release 5.) Currently we just support English. We'll take a look at localization in close future.
This a very good product. Sadly I can't give it the 5 stars I want to, as the ability to change how code is formatted is not present. I like to customize how my code is formatted (curly braces on a new line, etc.) but this is absent.
Add the ability to change how code is displayed, see how PHP Storm handles it as a good example, and you will have a fantastic product, instead of just the very good one which it currently is.
As a .NET developer I recently decided to put together a web site using AngularJS and PHP.
I purchased a copy of JetBrains PhpStorm as I have their brilliant .NET tools. I have not been able to get the debugging to work as I would like it to - like it does in Visual Studio.
I stumbled across PHP Tools for VS whilst looking for something else and decided to give it a try. Three days later I have bought a licence!
I can now develop PHP, a language I am not that fluent in, within Visual Studio, an IDE I have used daily for 8 years and the debugging capability is amazing. If feels so natural to hover over a var and the current value pop up.
Being able to debug PHP as I would C# saves a massive amount of time.
This is only a hobby site I am working on but my productivity has shot through the roof by using this tool!
Installers beware!! The uninstall doesn't work if you can't contact their activation server. In my corporate environment, much of the internet is blocked (including their activation server) and now, after installing and realizing I can't activate a trial, I can't successfully uninstall it (the uninstall fails at the end with an error box and then it rolls back).
Bad form, DEVSENSE. I thought we were past all such childish ways.
(I would put no stars, but Microsoft is giving you 1 star for nothing)
(scrolling through the comments below, I will check this document: http://www.devsense.com/doc/phptools/installation/uninstallation to see if I can get things cleaned up).
(or I guess I won't. When trying to access the document to explain how to manually uninstall, I get: "Geolocation Filter of of McAfee Web Gateway. The URL is listed in a country that is not allowed by your administrator at this time." ) Not their fault, but it's now my mess to cleanup).
Hi, I have tested the extension. But there are many things that are missing. - Refactoring - IntelliSense by database (project database ... table, fields) - Drag and drop items from project explorer, eg: in php: include, require file with path in html img tag src value: path to this resource - Add Framworks (php, js)
There's also an error in private member variables. These are displayed by the intellisense / codecompletition on an object variable.
This extension has just BEATA-STATUS.
Take a look at NetBeans, PHPEdit, PHPEd for functionality.
I'am working with PHP Tools for several month now, enjoying the seamless integration into Visual Studio. Each time after having installed an update I'm looking for the well known 'refactor' menu item in the context menu. At least a support for renaming shouldn't be too hard to implement and I think it would be appreciated by most developers.
This extension is great. We have the paid version and the debugging works really well. My comment would be that large projects take quite a while to load in when a PHP project is created and has files added. Can it be made to defer processing of PHP files so all folders and files can be loaded into the solution explorer first?
PHP Tools for Visual Studio do support CSS language in .php files. If there isn´t any, the issue must be somewhere else. You can find more information at http://www.devsense.com/doc/phptools/editor/html-editor.
Please send us email to email@example.com we´ll help you solve that.
I installed several extensions from this site and they all worked flawlessly in the background. EXCEPT for PHP Tools for VS. As soon as I started VS after installing I got an obnoxious message about registering, etc.
I immediately decided to uninstall PHP Tools so I went to Tools->Extensions and Updates and selected PHP Tools but guess what? The uninstall button doesn't work! The other extension's uninstall buttons work fine but PHP Tools uninstall button does nothing when I click it.
Now I have to search the web to figure out how to manually uninstall a VS extension.
I really appreciate PHP Tools for visual studio 2012 (i use the registered version of PHP tools), but there is something missing at my sense wich make me rate it 4 stars instead of 5. When i set my project as a PHP project, i can't update server on a per file basis wich is an issue for me when working on large projects. On other hand when setting my project as a web application, i can't add a new php document (or any document provided by php Tools) to the project but have to create a html document to rename it with php extension, then close it and reopen it.
Since 1.13 we do support publish on per file bases. And even publishing/updating whole projects should be faster now, especially if "Skip remote files check" is turned on.
About new php document template in Web Application. That is quite normal, as in VS you see only files in language you are using. e.g. you won't find Visual Basic templates there.
There are two other options what you could do: 1.) Ctrl+N > PHP > PHP script and then File | Move file.php to Your project.
2.) or nicer way. You can create your own project template. Just create php file and go to FILE | Export template ( http://msdn.microsoft.com/en-us/library/tsyyf0yh.aspx ) . Then you can find your php template in web application projects.
I love Visual Studio. I use it since 2006 for c#, asp, WinForm project, etc.
Is PHP tools have this features ? :
0) Web Servers integrated (Apache, nginx... mysql)
1) CONTROL + K + D indentation for all documents
2) Live edit over FTP
3) Publish over FTP the file projet
4) MySQL Integration (design tools, binding, etc..)
5) Integration of some platform like Drupal or Wordpress (intellisence and debug)
We're glad you like our tools!
0) Currently, you can select from builtin PHP server and IIS Express. Other servers have to be configured manually and can be used as well.
1) Formatting all the documents within project can be done using some 3rd party extension. It is not native feature of Visual Studio as I know.
2) VS does support live edit over FTP, but you won't have full IntelliSense and some operations may take some time. More at http://www.devsense.com/doc/phptools/projects/existing-web-site . I would recommend to use projects, have files locally and publish files automatically.
3) Publish over FTP is supported. More at http://www.devsense.com/doc/phptools/projects/publish
4) MySQL is supported using 3rd party extension from Oracle.
5) Drupal, WordPress and other frameworks are supported; you will have IntelliSense, debugging and other features. There are no predefined file and project templates yet.
6) Other language frameworks are handled until VS supports them. Currently PHP Tools rely on legacy HTML Editor which needs additional steps to make angular working (http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012). In future it will work out of box.
I also want to second that this is a wonderful tool. The one thing that I could really use is the ability to publish by folder and/or file.
I want to be able to use the Intellisense for all of WordPress, but if I exclude everything but the theme (all I really want to publish), I can't get Intellisense. If I keep everything but the theme, I have to publish everything - meaning I can't update WordPress on the server without also updating it in the project, and same goes for plugins, etc.
It would make my life a ton easier if I could just publish the themes folder! Any word on when that functionality possibly be included at some point in the future?
There are couple of ways how to achieve what you want.
1. Once you have publish profile created, publish selection feature get enabled. So when you right click on the file/folder you can publish just that node.
2. You can create two projects:
- Project A: Wordpress
- Project B: Theme
- Create project reference in ProjB to ProjA, so you'll get the Intellisense there. - Setup publishing for ProjB.
For debugging to work properly in this setup, check this http://support.devsense.com/viewtopic.php?f=21&t=1171&p=6241&hilit=wordpress+plugin+reference#p6241
I created a new project using "PHP Web Project" template with only one line "hello world" program. I hit F5 to debug and Chrome opened to load the page. But it stucked at "Waiting for localhost", loading all the time, no timeout. Nothing is outputed.
I tried to set a breakpoint at 'echo "Hello World!";', hit F5 and still the same situation. It didn't hit the breakpoint.
The PHP installation is provided by this tool when I first hit F5 to debug. I'm pretty sure Xdebug is configured right. I also tried to install PHP 5.6 using Web Platform Installer, and manually installed Xdebug module, configured in php.ini. Still the same.
BTW, I noticed there is a "PHP Debugger" in system tray. If I keep VS and this little program closed, then start VS, open my php project, hit F6(Start Without Debugging), then all works, I can see a "Hello World" in my browser. Hit F6 again, still nothing wrong.
But when I hit F5 to debug my project, I got the problem described above. I clicked "Stop debugging" then hit F6 (Start without Debugging), it doesn't work. The browser opens but stucks at "Waiting for localhost". If I manully exit the "PHP Debugger", then hit F6, it works again. There must be something wrong with this little program. (The program seems like a request forwarder?)
Thanks for your post.
That seems like XDebug is trying to connect, but it cannot connect to VS for some reason. Please check your firewall settings and if you could take a look into VS output pane to see if there are some additional information.
You are right, the small program is a request forwarder.
Please contact us directly at firstname.lastname@example.org or http://support.devsense.com, we'll get you setup.
I've just installed a trial and am impressed. I'd like to work with PHP files in VS, and your tool seems to be a good fit.
One think I have not noticed... Errors in the Error List. For example, if I leave a line without an ending ";", I'd like to see a message in the Error List. Am I missing something, does it do this already with some setting? If not, will this support be added?
Thanks for trying our tools! We're glad you like it.
Please try the latest version at http://www.devsense.com/products/php-tools/download . It should fix eventual issue with the Error List. Also please note, Error List won't contain errors from files not contained within a PHP Project.
Visual Studio has some great rules defined for code analysis, while some are specific to the language support common across the .NET platform, quite a number of these rules could be applied to PHP. What code analysis support is there when using PHP Tools for Visual Studio?
With the new update, there will be code analysis that marks issues in your code. It won't show the list of issues in Error List yet. You can download the preview already at http://www.devsense.com/products/php-tools/download .
Future versions will add more rules, detailed documentation and the list of issues.
Thanks for your question.
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, you are in luck! 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.
I really like your VS extension since I'm a Microsoft enthusiast and mostly use VS. I have to work with PhP for an IT school project and would like to know if there are any discounts for students?
I also had a question about how VS handles PhP projects with this extension. I always store my PhP files in a directory that is higher that server root (next to www/ directory) in order to hide them. I then do a require on the System class file to start my website. Problem is, I know how to do it with Wamp, but I'm pretty clueless with VS, any idea?
Thanks for your post! For current student offering please contact email@example.com.
You can use WAMP with PHP Tools. Just create a new PHP project (you can create it from existing code http://www.devsense.com/doc/phptools/projects/new-project-from-existing-code ) and in project properties check Use Custom server and fill the url which is setup in WAMP.
About the php project, you can create it with a root on level higher than is your server root. It won't affect the way WAMP serves it. So it should work fine with your case.
If you'd need more assistance with this please contact us at http://support.devsense.com
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.
On one local computer, the development environment and the Web server exists.
When you build in PHP Web project, I think that when you copy the file to the directory that you set.
However, because there is a Document Root in the local computer, the file copy is a waste.
Currently, I selected the File -> New -> Web site.
And I will specify the Document Root in the working directory.
However, you will not be able to easily run the xdebug it's this way.
When you chose PHP Web project, the folders and files in the project will not be able to link the contents of the Document Root?
(As well as the Eclipse folder link function.)
Also, when you build in PHP Web project, once you are copied, since the second time there is a folder that you do not want to copy.
Number of files becomes many, will have taken the time to copy.
And, it's hard to change a publishable property of one single file.
I want to operate a publishable property in the folder unit.
(Mainly tools and libraries such as phpMyAdmin.)
When you are developing a Web site on a single computer, do you now how on how to create the most suitable project?
Thanks for your question.
Using VS web site (old asp.net concept) is generally not a good option as we can't extend it with debugging and other things. So PHP Web Project is the way to go.
The easiest and fastest way to create PHP Web Project from existing sources is to go with "Project From Existing sources" option. More details here http://www.devsense.com/doc/phptools/projects/new-project-from-existing-code
If you don't want to publish some folder, e.g. it's folder for generated data. It's good idea to exclude it from project (right click in solution explorer > Exclude from project).
You can also see all the excluded files and folders if you turn on "Show All files" which you can find in Solution Explorer ( for VS2010 it looks like this http://blog.brianhartsock.com/2009/09/14/visual-studio-tip-show-all-file/ )
Anyway we'll take a look into publishable property on folders.
Please give us know if that helped
Thank you for your post. Could you please send us Visual Studio activity log http://www.devsense.com/doc/phptools/troubleshooting/activitylog-xml to email@example.com ? That would help us determine why that happens with your installation.