47

For my web development purposes, I am looking for a code editor. In my case, it's mostly for JavaScript and PHP.

Here are my requirements:

  • Must have Syntax highlighting,
  • Must have Code hinting (like IntelliSense),
  • Should support FTP,
  • Must be cross-platform.

Syntax highlighting and code hinting are two things I need since it helps coding quicker and I surely do not want to miss out on those features.

But even more, I would also like to have a program with integrated FTP support so I do not have to switch back-and-forth between an editor and some FTP program (as I am currently doing).

Which cross-platform JS/PHP editor software (with code hinting etc.) would offer a solution to my FTP problem, so I could avoid the need of using an additional FTP program next to a code-editor?

13 Answers 13

36

I like Netbeans. It's mainly a Java IDE, but it supports HTML5 and PHP as well and is platform independent. It has syntax highlighting and a autocomplete feature much like Visual Studio's "Intellisense"

Netbeans UI in Ubuntu editing a java file

(yes, that's a Java example, I don't have a PHP one right this moment).

  • 4
    They even have a PHP specific package, which includes HTML5 and JavaScript support, but strips out the Java and C/C++. This works really well and has FTP. – Enjabain Feb 4 '14 at 22:29
  • Netbeans is great and always feel strong when developing application on it. – Rahil Wazir Feb 5 '14 at 0:26
  • It's worth mentioning that is has FTP and versioning tools (GIT) built in, as for upload/download it's nice but they need to improve the Synchronization options. – Mohammed Joraid Feb 6 '14 at 16:46
  • @RahilWazir, Netbeans always feel clunky and slow. – Pacerier Mar 31 '15 at 23:42
21

If you are not keeping off from paid solutions you can check PHPStorm

It is really powerful and fast - you can try trial version to ensure it suits your needs. According to this requirement there is extensive code completion working on various levels. There is albo powerful refactoring support and code analysis functions. Please take a look at features page

  • I have yet to find anything that really compares to JetBrains' Products' javascript support. With proper commenting, it provides type checking on part with static languages. – Darth Android Feb 5 '14 at 16:15
  • How does it stand up to the revised requirements? – Ira Baxter Feb 9 '14 at 22:25
  • 1
    Is it integrated with FTP? – Nicolas Raoul Apr 10 '14 at 6:51
  • Why "paid"? There is a community edition – Mawg Apr 2 '15 at 8:31
21

Please note that I had to split my answer into 3 parts, to comply with the new rules of Softwarerecs.SE:

  1. My private 2 cents… Geany
  2. My working 2 cents… Eclipse
  3. If you are able and willing to put money on the table… Zend Studio

1. My private 2 cents…

Personally, I use Geany and have had good experiences with it. Geany provides a small and fast IDE that offers the expected things like code completion, syntax highlighting, etc. and it can be extended using plugins. As for FTP, Geany has GIO support which means it can open FTP:// URIs, but you should know that Geany doesn't support any remote file editing. Yet, to enable remote file editing, you can easily mount remote filesystems through FTP, SSH or whatever with things like Fuse or LUFS.

In fact, the mass of available plugins makes it near to feature-complete for nearly all web development jobs. So, that's what I would recommend. As for platforms: Geany is available on Linux and Windows. Besides that, the source code is available via the Geany website in case you want to compile it yourself.

Screenshot of Geany running on my desktop, showing an open PHP file:
Screenshot of Geany running on my desktop, showing an open PHP file

  • 5
    I'd really like to upvote the effort you've put to write this answer as you have managed to cover the basics of all your recommendations. The bad thing is that it creates more dilemma to the OP and users with similar questions, rather than solve it, which is the purpose of this site. Also, accepting of your answer will not show which recommendation worked for the OP, unless he is good enough to comment. – Ivaylo Slavov Feb 5 '14 at 13:01
  • 1
    @IvayloSlavov Valid point. It took a while but I've rewritten the answer, adding about 50% more information as well as related screenshots. Most important: I've narrowed down the "broadness" by describing my recommendations for three different situations -- personal, semi-pro, and pro. That should solve the issue you've detected; at least - I hope so. – e-sushi Feb 5 '14 at 15:20
  • 2
    Good job, I am really glad to see this major improvement, its definitely worth the time spent! I can see you put on focus three different enough suggestions, and emphasized on each of their advantages, so the choice will be backed up with sufficient information. I still think the list of the other suggestions could cause some diversion though, and the answer will stand better off without them. – Ivaylo Slavov Feb 5 '14 at 21:02
  • 1
    This is a great answer in terms of content. I think it is wrong in terms for SR formatting. It contains so much that nobody can indicate a positive vote for a specific recommendation, only an overall "nice job" of making a list which is what SO desperately tries to avoid. I'd recommend breaking this answer into one answer per IDE; then other users can indicate the value of a specific choice. – Ira Baxter Feb 9 '14 at 9:32
  • e-sushi: I voted to reopen. I also remarked on this at meta. – Ira Baxter Feb 9 '14 at 15:14
16

The best cross-platform, Non-IDE Code editor I've used as a PHP/JS Dev is Sublime Text. It's available for Windows, Linux, and OSX.

It has an unlimited free trial. The full version is $70 USD.

It has a huge library of addons which give it advanced features that make it hard for me to live without it. With add-ons and native features, it has things like...

  • Syntax Highlighting with every possible customization imaginable
  • Code Completion
  • Real-time Code Linting (JS and PHP)
  • Automatic Code Formatting/Tidying
  • Whitespace management
  • Multi-line editing
  • FTP Syncing
  • 1
    +1 for mentioning multi-line editing, awesome feature – user23 Feb 4 '14 at 20:10
  • @iamkrillin multi-line editing is amazing and has made my life easier on countless occasions. – dotVezz Feb 4 '14 at 20:12
  • 1
    -1 for suggesting they not pay for it – user23 Feb 5 '14 at 19:41
  • @iamkrillin Good call. I've now removed that point. (This time I didn't forget to hit the "save" button) – dotVezz Feb 5 '14 at 19:46
15

A free cross platform solution is Aptana Studio 3 built on Eclipse. It has some awesome features like:

  • Git and SVN support
  • Boilerplate templates
  • Project management
  • FTP Support

Screenshot: Aptana studio 3

  • Could you elaborate a bit more on why you choose this software? And what possible downsides are there to it? – Angelo Fuchs Feb 9 '14 at 19:31
  • aptana is allright but slow as HELL – user151496 Dec 25 '15 at 0:29
15

Notepad++ is a simple one. It has great customizable highlighting (PHP, JS, CSS and HTML within one file - and more to choose from) and FTP plugin available for remote use. An obvious downside is that it's only available natively on Windows, but it should run fine through WINE. Code-hinting sometimes behaves a bit oddly, but other than that it's a great editor.

Notepad++ document demonstrating highlighting and code-hinting

  • 3
    -1 Because this isn't truly cross-platform. – dotVezz Feb 17 '14 at 16:45
13

I've used PHPDesigner for a couple of years (since version 7) and it has all of the features that you want and more. I've developed a bit of a love/hate relationship with it, though, so I'll go into my experiences using it.

First, your constraints:

  • It has FTP/SFTP support, password or key based
  • It has code completion and built-in documentation lookup
  • It has pretty configurable syntax highlighting, and as you code error checking by using PHP itself to find syntax errors.

What I like

I really appreciate the just-in-time live error checking that it does, as it saves you from pushing something that has a missing brace or semicolon. It'll pop up the actual PHP error message at the point in the code that PHP choked on it. With some Xdebug support, it makes troubleshooting and debugging rather simple.

Code highlighting, completion, suggestion, and documentation lookup goes beyond just PHP. You don't just get the PHP manual with it, it also completes and looks up references for popular Javascript frameworks like jQuery. If you forget arguments or argument order to something, it saves you some searching.

Git support (Mercurial on the way)

At under $100 with a guaranteed upgrade to the next release, I like the price.

It's developed by a single programmer and he's very responsive to feature requests and bug reports.

What I don't like about it

It's heavy, it feels heavy to use. There are buttons that you'll never know the reason for, or, at least, that's how I found some.

FTP support is okay, SFTP is still wonky. It doesn't handle socket timeouts in some cases which can be annoying when you really want to save your work when you're working on something remotely.

While it doesn't try to impose any kind of organizational structure to your project, getting certain frameworks going in it (e.g. Codeigniter) can be a bit of a pain, when you want the built in PHPDoc support for class methods and completion it can get from them. Still, you can get it working, it just takes some fiddling.

I had issues with tabs getting weird when saving on remote ext3/ext4 file systems via FTP. I then fixed that, but I have no idea how, which is a symptom of too many control knobs to turn.

It's developed by a single person. While I have no reason to doubt that he'll continue working on it for years to come, the one person 'bus factor' is always a bit of a concern to me.

All in all, it's a great IDE that can be made to feel more like an editor depending on how you customize it, what toolbars you show and what features you dive into. If you're just getting started with web development using PHP and JS, the built-in documentation lookup is really going to help you get up to speed faster than you would otherwise.

Give it a shot :)

  • Do you happen to know if this program allows you to switch between CRLF, LF, and CR formatting? – animuson Feb 6 '14 at 23:02
  • @animuson Yes, I believe it does. I can't readily check because I don't have it installed on my work laptop, but they have an evaluation version that's fully functional for 30 days and the author generally answers questions quickly. – Tim Post Feb 7 '14 at 5:17
11

A free solution is PHP Development Tools for Eclipse. It includes code completion, syntax highlighting and since it runs on Java it's cross-platform. You can enable the web developer tools for Javascript support and there are plugins for FTP sync.

I primarily use Eclipse for Java development but when I needed to do PHP it was nice to be able to download a plug-in pack instead of having to find a new IDE. I find that it's just as good as most of the paid IDEs since it has most of the same features.

The only downside with Eclipse is that it can get a little slow if there are a ton of plugins turned on and occasionally (but very rarely) some plugins don't play nicely together. I have disabled plugins I'm not using and I've "installed"1 separate instances of Eclipse for different purposes.

1Installing Eclipse is as easy as unzipping the package into a new directory. You should also use a separate workspace if you don't want to share settings across instances.

  • Do you have personal thoughts about this software? Why do you like it? Why it is better for you than other IDEs and editors listed here? Please, improve you answer. – leventov Feb 9 '14 at 16:16
10

This is very new and I don't have much practical experience with it, but looks promising.

Brackets

  • Available for Windows and Mac
  • Hinting/completion for HTML, JS and CSS (but not php)
  • Syntax highlighting (doesn't work for inline php)
  • Live preview on Chrome (really interesting, previews as you type)
  • FTP Sync supported via extension.

It's not something I'd use for production right now, but it's worth taking a look.

Official screenshot:

Brackets UI

7

I use vim myself, customized with some plugins (e.g. syntastic for code hinting, html5.vim & vim-javascript for improved HTML5 & JS support).

But some friends of mine have been using Sublime and Komodo Edit for PHP/HTML/JS/CSS code editing with great success.

  • vim does not come with code hinting. Which plugins do use to make it work? Also, I would not consider vim really cross-platform. – Bernhard Feb 4 '14 at 21:20
  • 3
    @Bernhard Vim is installed by default on pretty much all flavors of *nix, including Macs, except some old/tiny servers that "only" have vi, and is available through cygwin (and possibly standalone/gvim?) on Windows. How much more cross-platform can you get? – Kevin Feb 4 '14 at 21:27
  • @Kevin We can debate this, but without mentioning relevant plugins, this is not answering the question, in my opinion. – Bernhard Feb 4 '14 at 21:29
  • 1
    @Bernhard Vim is pretty much cross-platform. I added reference to some plugins. There are many more, of course, but those should get someone started. – elias Feb 4 '14 at 23:47
  • With the plugin links it's worth my upvote. I asked a question that this answer covers in part : softwarerecs.stackexchange.com/questions/80/… – Johnride Feb 5 '14 at 12:34
6

Please note that I had to split my answer into 3 parts, to comply with the new rules of Softwarerecs.SE:

  1. My private 2 cents… Geany
  2. My working 2 cents… Eclipse
  3. If you are able and willing to put money on the table… Zend Studio

2. My working 2 cents…

At my current workplace, company policy states we have to use Eclipse -- to be more exact: PHP-Eclipse.

Screenshot of Eclipse running on my desktop, showing an open PHP file:
Screenshot of Eclipse running on my desktop, showing an open PHP file

Eclipse also has its merits and does a superb job when it comes to handling big (read: huge) projects where teamwork et al come into play, but it also feels somewhat heavier compared to Geany. Therefore, I tend to fall back on Geany for regular (read: medium-scale) projects, because it tends to provide a nice balance between being "lightweight" and "feature-rich".

6

Please note that I had to split my answer into 3 parts, to comply with the new rules of Softwarerecs.SE:

  1. My private 2 cents… Geany
  2. My working 2 cents… Eclipse
  3. If you are able and willing to put money on the table… Zend Studio

3. If you are able and willing to put money on the table…

Since you didn't mention a price-tag… I would like to add that some people (like my previous employer) pay vast amounts of money for Zend Studio licenses and some people (like me) are absolutely happy whenever they can use Zend Studio. Therefore, I would like to put an emphasis on the fact that if you're able and willing to put money on the table, you should definitely go for Zend Studio and look no further.

Screenshot of Zend Studio in action: Screenshot of Zend Studio in action.

2

I would try Atom, it's an open source easy to use and powerful text editor. It meets each of your requirements of,

It also has other great features like,

  • Built-in package manager - Search for and install new packages or start creating your own—all from within Atom.
  • Smart autocompletion - Atom helps you write code faster with a smart, flexible autocomplete.
  • File system browser - Easily browse and open a single file, a whole project, or multiple projects in one window.
  • Multiple panes - Split your Atom interface into multiple panes to compare and edit code across files.
  • Find and replace - Find, preview, and replace text as you type in a file or across all your projects.
  • LOTS of packages
  • LOTS of themes
  • Easy to custimize
  • Runs on Electron
  • Completely open source

Atom.io

A hackable text editor for the 21st Century.

At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.

Atom's UI

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.