I always strive to increase my productivity when developing applications and in the span of the last few years, I can say that I have made good steps towards increasing that productivity, but I still find I need more tools or methods. I need to edit faster and learn touch typing (currently in the process) and therefore I find a need to move to Vim. It has been now over one year I have trashed Windows and moved to Linux (Ubuntu to be more precise) and I am using the IDE Zend Studio combined with Aptana Studio for developing OO PHP5.3 websites. Although the IDE does everything I would need from an IDE (which I will enumerate shortly), it lacks the editing mode Vim would give.
So my question is: how would I have all the same following 'killer features' I already have within this IDE in Vim?
Here is the extensive list of features I need to keep the productivity at an high level for me:
Code completion for PHP5.3, not just PHP5 and not just the PHP functions, but any libraries that are added to the buildpath, such as Zend Framework and my own library.
Code formatting, I don't use it much, except for XML files, but that is something I would need soon as I will start to lead more people within my company and formatters will help to keep the code coherence.
I use Oxygen XML editor within Zend Studio (eclipse) for editing Docbook XML technical documentation. It has already proven of great quality to me and I would like to keep it.
Syntax validation for any file extensions that can be used on the Web, mostly for me would be PHP5.3 syntax, html syntax (not that important), CSS, Javascript (that's why I have Aptana Studio integrated with Zend Studio, their javascript editor is great with JQuery support)
Maybe a git integration just like EGit (eclipse plugin)? Not required but a nice addon.
Debugging features (already using it through the ZendDebugger)
Powerful searching within files
I know that is a lot, but I am already having all this within my IDE and as I said, I feel the need to move to mode based editors like Vim to be more productive when typing and I feel the learning curve and time invested in setting up all of this will be well worth the effort.
I know that there is Eclim, which integrates eclipse to its daemon and I am thinking of using just that, if anyone has feedback on Eclim used with Zend Studio that would be appreciated.
Along with Eclim, if I need more vim plugins to achieve my needs, I would gladly appreciate it if someone could direct me to them.
Aright, after playing around much with the tools that would increase productivity using vim I have made my choice.
I first installed GVim with the MiniBuffer, NERDTree, Bufkill, Matchit, PDV (phpDocumentator), taglist plugins and others to make sure I would be as much comfortable as I would need for replacing the functionnalities I already had within Eclipse. I also installed Eclim, which is a pretty good plugin to integrate with eclipse and it works great with completion assist when installed on Zend Studio 7.1 (although there is a minor bug within Zend Studio's completion assist that restricts its use on Eclim). I also followed those three blogs (O'Phinney's, Thomas Koch's and Schlitt's to make sure I was at the top of productivity). After trying my hands on all of that I still felt I was far from comfortable for some GVim editing.
Since I am already sold on the powers behind touch typing and Vim, there was absolutely no way I would return on bare editors such as the one Eclipse provide. Therefore I tried, viPlugin, Vrapper and vimPlugin, which were not what I expected from them. The viPlugin and Vrapper, which emulates vi into Eclipse, as opposed to vimPlugin who just integrates Vim as an external editor (rendering code completion, refactoring and such unusable), are not enough mature yet. Visual block is not working and some nifty bug gets on your way when you start to really use them. I am not bashing those plugins since they are still pretty good, but it was just not what I expected.
Then I just stumbled on Netbeans and their new version 6.8 released on December 2009, which now have fully support on PHP5.3, PHPUnit, Code coverage reports, refactoring, XDebug integration, Code completion. What made the grand finale is when I saw the jvi plugin which emulates vi into netbeans (and yes, visual block works!!). That plugin is just absolutely amazing and works very very well.
The only thing that was left out, as asked in my question, was the Oxygen XML Editor which is not integrated in a netbeans plugin, but I can still use their native editor so it was not even an issue for me. For Git integration, there is a plugin out there for netbeans, but I sticked with git gui.
If you guys out there want the best of both worlds just like I wanted, you should definitely checkout the new release for netbeans for PHP5.3 development, while keeping Vim as your main editor.
I'm interested in using Eclim with Zend Studio as well. However, I already have a Zend Studio Project and installing Eclim requires the creation of an "eclim project". That process, according to the eclim installation notes, will create a .project file in the root directory of the project. And that means it will likely overwrite the ZendStudio .project file...which will corrupt my project files... something I don't want to do in case I decide that eclim is not for me.
Let me know how it works out for you.
Need your suggestion on php/mysql software. I develop PHP websites using Dreamweaver, I also have to use phpmyadmin, sql query editor (to work with database) and WinSCP (to upload/backup files over SFTP).
Could you suggest me please some software which contains all in one (PHP syntax highlighting, db connections and running sql queries, etc..)?
Thanks in advance.
Netbeans has PHP highlighting, code completition, db manager and ftp/sftp + xdebug (your next step:) ) support.
Try Eclipse. Go here: http://www.eclipse.org/downloads/ it is the third one down in the list (platforms on the right). You can connect to DB's, have intelli-sense (code completion) and more all for FREE!
Have you looked at Zend Studio?
If you don't want to spend as much as Zend Studio ($399 one year) try Aptana Studio. It is free and for $99 you get the Pro version with extra features like SFTP support.
There is a stand-alone version and an Eclipse plugin.
When I'm forced to use Windows, JEdit is my editor of choice. It has syntax highlighting for almost any language, FTP/SFTP remote editing, SQL plugins, code completion plugins, and so many others that I can't even begin to list them.
And, it's FOSS!
You can find the JEdit project at http://www.jedit.org
Your question is correctly tagged - you need an Integrated Development Environment (IDE)! Dreamweaver wants to be one but unfortunately it isn't.
If you're on a Mac I highly recommend Coda.
For any platform; I've had a great experience with Aptana (a fork of Eclipse) and these open-source IDEs are just bursting with useful plugins. Even Aptana's default project templates were useful instead of fluff!
One guy in my team loves NetBeans to bits.
Right now I'm addicted to shelling into the server and using command-line tools like vi or nano, svn, mysql. A steep (and important) learning curve but everything is possible on the command line. And with minimal client requirements. Do anything from anywhere!
I think the true answer is subjective - you'll need to dive in and try each one to see how they fit your working style.
Hope that helps!
My personal favorite text editor: e texteditor which a clone of a mac app called textmate.
There is a lot of support for many languages, although Zend Studio will give you more "integration" features.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I'm a PHP developer and now I use Notepad++ for code editing, but lately I've been searching for an IDE to ease my work.
I've looked into Eclipse, Aptana Studio and several others, but I'm not really decided, they all look nice enough but a bit complicated. I'm sure it'll all get easy once I get used to it, but I don't want to waste my time.
This is what I'm looking for:
FTP support
Code highlight
SVN support would be great
Ruby and JavaScript would be great
For PHP I would recommend PhpStorm.
It supports FTP/SFTP synchronization, integrates well with Subversion, CVS, Mercurial and even with Git. Also, it supports HTML, CSS, JavaScript and handles language-mixing well like SQL or HTML blocks inside PHP code, JSON, etc.
But if you need Ruby you can try another IDE - RubyMine with same capabilities but for Ruby.
NetBeans. Check out 7.0.1.
It supports FTP/SFTP synchronization, integrates well with Subversion, CVS, Mercurial and even with Git (with plugin). Also, it supports HTML, CSS, JavaScript, popular frameworks and more.
And its free.
Too bad no one mentioned phpDesigner. It's really the best IDE I've came across (and I believe I've tried them all).
The main pro of this one is that it's NOT Java based. This keeps the whole thing quick.
Features:
Intelligent Syntax Highlighter - automatic switch between PHP, HTML, CSS, and JavaScript depending on your position!
PHP (both version 4 and 5 are supported)
SQL (MySQL, MSSQL 2000, MSSQL 7, Ingres, Interbase 6, Oracle, Sybase)
HTML/XHTML
CSS (both version 1 and 2.1 are supported)
JavaScript
VBScript
Java
C#
Perl
Python
Ruby
Smarty
PHP:
Support for both PHP 4 and PHP 5
Code Explorer for PHP (includes, classes, extended classes, interfaces, properties, functions, constants and variables)
Code Completion (IntelliSense) for PHP - code assist as you type
Code Tip (code hint) for PHP - code assist as you type
Work with any PHP frameworks (access classes, functions, variables, etc. on the fly)
PHP object oriented programming (OOP) including nested objects
Support for PHP heredoc
Enclose strings with single- or double quotes, linefeed, carriage return or tabs
PHP server variables
PHP statement templates (if, else, then, while…)
Powerful PHP Code Beautifier with many configurations and profile support
phpDocumentor wizard
Add phpDocumentor documentation to functions and classes with one click!
phpDocumentor tags
Comment or uncomment with one click!
Jump to any declaration with filtering by classes, interfaces, functions, variables or constants
Debug (PHP):
Debug with Xdebug
Breakpoints
Step by step debugging
Step into
Step over
Run to cursor
Run until return
Call stack
Watches
Context variables
Evaluate
Profiling
Multiple sessions
Evaluation tip
Catch errors
Are you sure you're looking for an IDE? The features you're describing, along with the impression of being too complicated that you got from e.g. Aptana, suggest that perhaps all you really want is a good editor with syntax highlighting and integration with some common workflow tools. For this, there are tons of options.
I've used jEdit on several platforms successfully, and that alone puts it above most of the rest (many of the IDEs are cross-platform too, but Aptana and anything Eclipse-based is going to be pretty heavy-weight, if full-featured). jEdit has ready-made plugins for everything on your list, and syntax highlighting for a wide range of languages. You can also bring up a shell in the bottom of your window, invoke scripts from within the editor, and so forth. It's not perfect (the UI is better than most Java UIs, but not perfect yet I don't think), but I've had good luck with it, and it'll be a hell of a lot simpler than Aptana/Eclipse.
That said, I do like Aptana quite a bit for web development, it does a lot of the grunt work for you once you're over the learning curve.
Eclipse PDT is very nice.
I'm always amazed that more people don't use ActiveState Komodo.
It has the best debugging facilities of any PHP IDE I have tried, is a very mature product and has more useful features than you can shake a stick at. Of note, it has a fantastic HTTP inspector, Javascript debugger and Regular Expression Toolkit. You can get it so that it steps through your PHP, then you see your Javascript running, and then see your HTTP traffic going out over the wire!
It also comes in free (Komodo Edit) and open (OpenKomodo versions).
Oh, and if you don't always hack just on PHP, it's designed as a multi-language editor and rocks for Ruby and Python too.
I've been a happy customer for around 5 years.
There's no "best" IDE, only better and worse ones.
Right now I'm trying to settle in with Aptana. It has a lot of cruft that I don't want, like "Jaxer" doodads all over the place. It's reasonably fast, but chokes on large files when syntax highliting is on. I have not been able to figure out how to set up PHP debugging. Three good things about Aptana: easy plugin installations, very fast and intuitive Subversion plugins, ligning fast file search.
I tried Eclipse PDT and Zend for Eclipse, but they have nightmare levels of interface cruft. Installing plugins is a living horror of version mismatches and cryptic error messages.
I also use Komodo (they bought us licenses at work). Komodo has a very intuitive interface, but is ridiculously slow, chokes on medium sized files with syntax highlighting. File search is intuitive, but rather slow. Subversion integration is not that great - slow and buggy. If not for slowness, I would have probably stuck with Komodo, especially for the debugger.
To get you started, here is a list of PHP Editors (Wikipedia).
For PHP in particular, PHPEdit is the best, and I tried and worked in some of them including, Dreamweaver, Elipse, Emacs, Notepad++, NetBeans, UltraEdit ...
Geany is a great lightweight editor -- like Notepad++ for Linux, only better. I find this, combined with a few shell scripts and symlinks for linking modules into a web source tree, make developing on Linux easy and fun.
I love JetBrains IDEs. For PHP it is JetBrains PHPStorm.
http://www.ibm.com/developerworks/opensource/library/os-php-ide/index.html
Personally, I love Notepad++... :D . The above link compares some of the better IDEs and the best ones aren't free.
I'd recommend Komodo 4.4 though (I used the trial version) since it was awesome. Better than Notepad++, but not free... :(
I would recommend Zend IDE for the integrated debugger.
I'm using Zend Studio. It has decent syntax highlighting, code completion and such. But the best part is that you can debug PHP code, either with a standalone PHP interpreter, or even on a live web server as you "browse" along your pages. You get the usual Visual Studio keys, breakpoints, watches and call stack, which is almost indispensable for bug hunting. No more "alert()"-cluttered debugged source code :)
Have you looked at Delphi for PHP (<http://www.codegear.com/products/delphi/php>) ?
Joe Stagner of Microsoft really likes Delphi for PHP.
He says it here: "[Delphi for PHP] 2.0 is the REAL DEAL and I LOVE IT !"
Eclipse with PDT.
I use and like Rapid PHP.
What features of an IDE do you want? Integrated build engine? Debugger? Code highlighting? IntelliSense? Project management? Configuration management? Testing tools? Except for code highlighting, none of these are in your requirements.
So my suggestion is to use an editor that supports plugins, like Notepad++ (which you are already used to). If there's not already a plugin that does what you want, then write one.
I use Coda on Mac OS X.
There is a new guy in town, PhpStorm from JetBrains. You use it and I bet you will forget all the other editors. It's bit pricey though, unfortunately.
RadPHP (previously known as Delphi for PHP) is the best.
All are good, but only Delphi for PHP (RadPHP 3.0) has a designer, drag and drop controls, GUI editeor, huge set of components including Zend Framework, Facebook, database, etc. components. It is the best in town.
RadPHP is the best of all; It has all the features the others have. Its designer is the best of all. You can design your page just like Dreamweaver (more than Dreamweaver).
If you use RadPHP you will feel like using ASP.NET with Visual Studio (but the language is PHP).
It's too bad only a few know about this.
Aptana supports this and I use it for all of my web development now.
Hands down the best IDE for PHP is NuSphere PHPEd. It's a no contest. It is so good that I use WINE to run it on my Mac. PHPEd has an awesome debugger built into it that can be used with their local webserver (totally automatic) or you can just install the dbg module for XAMPP or any other Apache you want to run.
The best IDE for PHP in my opinion is Zend Studio (which itself is based on Eclipse PDT). Note that in this case "best" does not necessarily mean "good." It is slow and a bit buggy, but even so, it's still the best option for PHP programmers. I've tried a ton of PHP editors over the years and I haven't yet found one that works great.
Komodo IDE would be my second choice. My only problem with Komodo is that the autocomplete is not as good. With properly structured apps where you use phpDoc to document return types etc., it should be alright. But I work on a project that doesn't really do that and Komodo can't read across files to know that $user is a User object for example.
Personally everything that is based uppon Eclipse or NetBeans is an overkill, the GUI is crap and the performance is soooo slow compared to other alternatives.
If you're willing to pay I would suggest Zend IDE (version 5.5, not 6 because it's based on Eclipse) and EditPlus for a more lightweight yet powerfull code editor.
If you're looking for free alternatives, or if you code in other languages other than PHP, OpenKomodo is a really nice IDE with almost all the features (no SVN neither CVS) that you require, the only con I see about OpenKomodo is that sometimes it messes my code indentation, but then again I don't use it on a very regular basis.
As for a free lightweight alternative: Notepad++. =)
My personal preference is Eclipse (with various plug-ins) as I am developing in several languages (PHP, Java, and Ruby) and this way I am always used to interface and keyboard shortcuts. This is not a minor thing as you become very productive this way.
I haven't used Aptana, but will (hopefully) soon - it does look interesting, though.
For others IDEs I have used: jEdit (for little Java), Notepad++ (still for some scripting and short test code runs).
And for the features You asked: Eclipse support many source code version servers (Subclipse); your project can be on a Samba share; ZendDebugger/xdebug for debugging.
I've tried Eclipse PDT, with some success. Aptana is also pretty good, or if you are doing a lot of AJAX stuff, it's great. Your mileage may vary, however, depending on what additional plugins you want to use with them.
PHPEclipse is as close to Eclipse java power as it could get. Eclipse PDT is much weaker (last time I checked).
I'm using PHPDesigner but I will go for Eclipse PDT. I was always against Eclipse until few months ago when I have one Java project to finish... Great IDE
Now I can't imagine one day without Eclipse. :)
Have you tried NetBeans 6? Zend Studio and NetBeans 6 are the best IDEs with PHP support you'll come across and NetBeans is free.