What do you use for site coding, FTP, and file management? Suggestions?

9 points by headShrinker ↗ HN
I use Dreamweaver and hate it. It's bloated and slow, it has far too many features that I never use. Basically I am looking for code-coloring/view, file management and FTP. What are you using?

36 comments

[ 925 ms ] story [ 1251 ms ] thread
emacs has a nasty learning curve but it is incredibly powerful and integrates very well with most languages. (im not religious, vi is probably just as suitable)

I would also look into deploying your site via whatever vcs you use as opposed to through ftp, it forces you to keep everything inline

I actually shy away from using SVN's update to push files to production or development; primary reason is I don't like my entire code history sitting in my public root...

Generally, I prefer rsync. Rsync can exclude all of the .svn directories so you are pushing the latest working copy and it also only pushes files that are new or have been changed on the source machine.

You can easily write up a little deployment script that you run when you are ready and up you go; it does many of the same things (exception being delete) that Subversion's update command does for you.

Because I use rsync with a shell (rather than it's daemon process), I generally have a passwordless private key to the server so rsync can run without constantly asking me to authenticate.

I generally use svn export as opposed to an actual working copy
rsync does delete files if you ask it too. See the man page :)
vim and ftp. Don't need anything else though FireFTP on Firefox is good. Don't have a suggestion for file management other than rsync.
(OSX) Textmate and Capistrano, aside from that I usually SCP files but if I have to use FTP I use Transmit.

Use source control such as GIT, commit your work then its as easy as 'cap deploy' to send it to the server, no messing with files!

Coda.

Hands-down it's the best text-editor I've ever used. But it's also an FTP/SFTP client. And it'll integrate with your version control. And it will provide you with a local console/SHH, CSS editor & browser preview (if you are a web-developer) and a small reference library built-in to the app...

In case you haven't noticed I really can't speak highly enough of Coda. And to make matters even better, if you have a bug: report it. Don't be surprised when you hear back from the developers the next day...

http://www.panic.com/coda/

I liked Coda, but I had the same problem with it that I have with pretty much every specialty editor on the Mac: once you've got your Emacs groove worked out, there's very little you can do to create a serious value-add. I didn't find Coda so much better than the tools I already had to make it worthwhile.

I'm also not a huge fan of the Coda CSS editor, although modern browsers are quickly obsoleting CSS editors anyways.

I'll admit that I never actually use the CSS editor... I'm very comfortable writing my CSS by hand so I continue to do it like I always have.

As far as Coda vs Emacs... I think that's like anything else. I can replicate all of the functionality of Coda using GEdit + plugins on Ubuntu but it doesn't have the same feel of a beautiful, coherent, whole. I've never gotten into vim/emacs in particular as I'm a bit of a fan of nice GUIs.

I use Eclipse for all my editing.

My deployment method is to commit to svn, then svn update on the server (plus a script to move the current live site to a backup location in case I need to roll back). This is faster than FTP and means I've never, ever launched code that I haven't committed. Even on a one-man project that's useful.

+1 for Dreamweaver being awful. I have to use it so that the content editors at my workplace can use it too, but that doesn't stop me from wondering how on earth so many obvious bugs make it into the release version of Dreamweaver...

Adobe, if you're listening at all, start again from scratch. Make something actually good!

When I'm working on Windows, SmartFTP is my favorite FTP client. Along with UltraEdit, it's one of the few commercial utilities that were worth paying for.

You'd think that the free FTP utilities would be good enough, but SmartFTP has so much polish and so many small enhancements (especially when it comes to handling multiple connections, auto-resume, remote file editing, transfer queuing) that it blows everything else away.

That being said, I'm still on version 2.0, while the current release is 4.0. I can't comment on how much better or worse it's gotten.

Visual Studio and the Publish button
expandrive for SFTP. People really still use regular FTP?
There are decent reasons for avoiding SFTP; regular FTP + VPN is more secure. Neither of them are as good as a trivial web app that will accept authenticated uploads and unpack them for you.
(comment deleted)
Notepad++/Filezilla for SFTP
Combinations of Visual Studio, Notepad++, Team Foundation Server, Subversion, and FileZilla (all depending on which project I'm doing).
editor: vim FTP: FileZilla file management: combo of VCS rsync

Editor: Substitute your favorite lightweight, powerful editor for vim. Emacs and textmate are good choices, I hear. I stuck with vim and am quite happy, because using the mouse or arrow keys feels like so much effort. I don't like the heavy meta key dependence of Emacs: most of the people I know who use Emacs have special keyboards, whereas I'm very comfortable using my notebook keyboard for vim. Haven't tried Textmate because I run Ubuntu, but Mac people give it a lot of praise.

FTP: I actually use FTP very sparingly, mostly for clients that have no idea what a VCS is, or have FTP-only access to their server. If I just need to upload miscellaneous files, like images etc., I'll scp or rsync from a shell. But FileZilla is pretty good, and it's cross-platform.

File Management: rsync for very large files (media stuff), giant tarballs, or stuff I don't like to keep in the VCS, like config files with secrets. Otherwise, I use whatever VCS is appropriate for the project, which is usually Subversion. I use Git when I have a choice.

editplus, fireftp, explorer

Fireworks CS4 for graphics editing and splicing

(OSX) Textmate is a good text editor if you don't need wysiwyg editing. Coda might be a good alternative if you do.

Cyberduck is a good ftp/ssh over ftp/file client.

For sure use some form of source control to manage files. ( I don't care what you use just use something. Subversion is ok. Git and Mercurial are nice too.)

My preferred method for updating a site is to checkout/clone from source control to a new location in your websites hierarchy and then create a soft link to the new directory. Scripts can automate this process.

ln -si /var/www/mysitecheckedoutfromsourcecontrol /var/www/mysiterootsetupinwebserverconfig

After that, If you have problems with the new site, you have a simple one line command to revert the site back to a known good point in time. All you have to do is relink it to the old site and you are off and running.

ln -si /oldsitepath /var/www/mysitesetupinwebserver

1. ssh access 2. Expandrive (mount ssh connection as a drive) 3. notepad++ or textmate
i use sshfs as a way to mount a drive over ssh on ubuntu
ssh & vi, svn to keep me sane :)

Call me old fahsioned...

On a java project I work on I use intellij, and I hate every second of it. The amount of (external api) stuff to remember is simply too large to commit to memory though.

PhpED has been my favorite environment for a while, although it is commercial.
I'm a huge fan of UltraEdit (http://www.ultraedit.com). I've been using it for years and I like the ability to browse any of my (S)FTP sites and make tweaks quickly. My main day to day work is in Visual Studio so I don't use it as my primary editor but when I do work on legacy ASP, PHP or any other kind of text (or binary) files I use UltraEdit. I'm especially happy because they just released the first version of UltraEdit for Linux (and soon OS X).
TextMate and Subversion, with a post-commit hook that updates a checked out copy on a staging server.
That's my process too, only, we have four different remote sandbox servers... I wrote a python script that sends out notifications to the sandbox servers to svn up when the post-commit hook is run.