I like to develop web apps with CakePHP. I connect to the server using Fetch, and to work on my website I go to my files on Fetch and click edit with>Text Wrangler. Then I am able to easily edit my files and save directly to the server. The only problem is, when I open many files to work on the website, it lists only the file name. In order to make my files named consistently, some of my files have the same name but are in different folders. For example, if I have multiple controllers, each one might have an associated view called "view". It's difficult to work when I have many files called "view" and many called "add", etc. Therefore it is important that I find a text editor that allows me to work on projects where I can group all of the files I am working on into folders.

By googling I have found that TextMate offers "project mode" where you can have folders but they stopped just short of offering what I need, because there is no way to open multiple files from a remote server in the same project. Every time I select edit with>TextMate on Fetch it creates a new text file, unassociated with the previous file I opened. There was a work around with MacFusion but it caused TextMate to crash and after fixing problem after problem with TextMate I concluded that this should really be a common enough feature that it should be built into the text editor without having to install any other programs/patches/etc.

Does anyone know of a good text editor for Mac where I can open files directly from Fetch to a single project, and group each file I open to a folder so that the list of files on the side doesn't get overwhelming? Another feature I require is color coding for whichever language I am coding in.

If you have another suggestion to make my work environment very efficient that would also be appreciated.


  • This is off topic. Mar 14 '13 at 20:15
  • Sorry I'll be more on topic from now on. Do you know of any text editors though? Mar 14 '13 at 20:16
  • Haven't tried it, but the Squad Editor is rather good. If you use eclispe (or Aptana) you could try out this plugin Mar 14 '13 at 20:22
  • I don' know why this would be considered off topic - according to the suggested questions via FAQs, one of the things a question can cover is: "software tools commonly used by programmers".
    – Dave
    Mar 14 '13 at 20:33
  • Have you looked at Sublime Text 2?
    – MattDMo
    Mar 14 '13 at 21:30

In general, directly editing on a live/production server is not good practice. You should always have a local copy of your projects (preferably managed via a version control system) so that you'll be able to modify/test/debug changes before deploying them to a live/production webserver.

For testing during development, you should run a (local) web server with a configuration that matches the online webserver as closely as possible.

Also, a proper IDE will index/analyse the source code of your entire project so that it can give code-assist/auto completion on your code (not just standard php functions). Although technically possible, indexing/analysing all source files on a remote server causes huge delays and is therefore not supported by most IDEs. (https://stackoverflow.com/questions/14310339/using-remote-server-in-phpstorm)

However, there are some options, via a slightly different approach.

Many IDEs have a option to upload/deploy changes when saving a file, effectively keeping the 'remote' files in sync with your local copy. Basically; you have a local copy of the website on your computer and every time you make changes in a file, the IDE will automatically upload those to the (remote) webserver.

Here's some information on how to configure PhpStorm (my IDE of choice) for automatically uploading changes via FTP;



  • You make the assumption that the remote server is the live/production server. Plenty of people have remote development environments because they can't run a webserver on their local machine or for a variety of other reasons. Some would even consider it a better practice than developing locally, because the development environment can then be much closer to that of the production environment. Apr 26 '13 at 19:15
  • @PeterAnselmo I fully agree with you! With my answer, I didn't mean to imply that one should run the website locally (hence the `(local)' between brackets). Testing/developing on a web server that matches the production environment is best practice. However, even then, you should keep a local copy of your source files (if possible, version controlled). If an in-house server is no option, a Virtual Machine is a good alternative. I've provided more information on this subject on StackOverflow here: stackoverflow.com/questions/15714691/…
    – thaJeztah
    Apr 26 '13 at 19:36

Try sshfs (https://github.com/osxfuse/osxfuse/wiki/SSHFS). It allows you to mount the remote server as a filesystem, so you can act on the files through your normal workflow as if they were local. This way, you can create files on the server as if you were making them on your desktop.


I ended up finding what I needed on NetBeans. I was led to it by something on thaJeztah's answer so I decided to give him the win. His suggestion of PhpStorm was crashing on my computer though...I'm not sure if it could handle a large file system.

  • Glad my answer assisted you. I'm curious though why PhpStorm crashed. We're developing many CakePHP and Magento websites using PhpStorm. After the initial indexing (may take a while for large websites), it works without problems, even on Magento websites, which contain in the order of 15 to 20.000 files. Please post a bug report to the developer of PhpStorm here youtrack.jetbrains.com/dashboard#newissue=yes
    – thaJeztah
    Mar 15 '13 at 21:12
  • No idea. Maybe it's my computer or the fact that I had a lot of other programs open. Nevertheless it worked on Netbeans. I will try again soon and file a report if it doesn't work again. Mar 16 '13 at 12:19

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.