11

I'm a software engineer with a little development company. I just recently moved my company into the open-source movement. All of our non-client code is open-source, we run all of our servers and workstations on Linux, etc.

I have been using Kate as my text-editor on Ubuntu for quite some time, but it's lacking some functionality that I would like to have. I would like something with the following characteristics...

  • Free and Open-Source
  • Code highlighting for JavaScript, HTML, CSS, SCSS, and PHP. (Bonus for Python and Ruby)
  • Code completion for the same languages I mentioned above.
  • Either a built-in terminal, or the availability of a plugin for a terminal.
  • SFTP/FTP remote editing.
  • Ability to open a directory rather than a single file. (Both remotely and non-remotely.)
  • If the program is an IDE it must be lightweight. (Not something heavy like Eclipse or Netbeans.)

I would also be ecstatic if it could do version control and had the ability to push changes with Git.

I'm not sure if the last criteria is available in any IDE or text-editor. I have gone through quite a few today looking for one to meet my conditions, and not one of them has been able to open a directory. If this is not possible, or not currently available anywhere, please explain why if you know why, and offer an alternative.

7
  • 3
    Have you tried atom.io? I don't have time to completely check, but I'm pretty sure it meets all your requirements.
    – Seth
    May 11, 2016 at 18:15
  • I think you should reconsider Eclipse. It is definitely heavier than vi, but I run three instances (three workspaces) most of the time, along with a variety of other things, so it's not terrible. There's no git/svn integration in it out of the box, but there are plugins for both.
    – CPerkins
    May 11, 2016 at 18:54
  • Hmmm. I just tried Eclipse earlier today. I wasn't very impressed with it. It seems clunky with a lot of random, obscure functionality all in your face. That is without mentioning, I was finding the plug-in interface difficult to understand. I was also having a hard time reconciling with the fact that it seems like Eclipse is not very language-shift friendly.
    – Allenph
    May 11, 2016 at 19:23
  • Why woudld you not want an IDE? How to you plan to debug without bereakpoints? May 12, 2016 at 7:38
  • 1
    Who debugs with breakpoints nowadays? Unless you are reversing a binary with no source code, of course. :-) May 12, 2016 at 9:29

2 Answers 2

7

Atom is a very good text editor that covers your requirements.

  • Free and Open-Source
  • Code highlighting for JavaScript, HTML, CSS, SCSS, and PHP. (Bonus for Python and Ruby)
  • Code completion for the same languages I mentioned above.

Check. Atom is open source and it includes code highlighting for the languages you mentioned. Some auto-completion features are provided through packages.

  • Either a built-in terminal, or the availability of a plugin for a terminal.

Take your pick.

  • SFTP/FTP remote editing.

I am not sure about this one, but you mentioned you are working on Ubuntu. I usually just mount the resource using File → Connect to server in Nautilus and use Atom or other editors for working on the files. If you really want it to be managed by Atom, this package seems a good place to start.

  • Ability to open a directory rather than a single file. (Both remotely and non-remotely.)

You can have one or more directories set as projects and you will see the files in the navigation pane. I often run atom . in the working directory I want to use. Here's what it looks like:

Navigation pane in Atom

  • If the program is an IDE it must be lightweight. (Not something heavy like Eclipse or Netbeans.)

Lightweight may mean different things to different people. Atom runs on Electron (based on Chromium). It is a bit slow to start and it might have issues with huge files, however I find it totally fine to work with on a system with 4 GB of RAM.

I would also be ecstatic if it could do version control and had the ability to push changes with Git.

Atom is developed by GitHub. The colors you see in the navigation pane represent the status of each file. I do not use it, but this package seems to provide nice Git functionalities with keyboard shortcuts.

5
  • I really, really like Atom. The project has evolved a lot since I last saw it. The terminal-plus package is the best implementation of that functionality I've ever used. Unfortunately, the SSH remote file editing packages are terrible. Limited to one file opening at a time, or requiring sub-servers on both ends, etc.
    – Allenph
    May 12, 2016 at 9:19
  • In fact I don't see why you would want to have Atom handle your SSH connection. Let Nautilus do it. ;-) May 12, 2016 at 9:30
  • I tried that also. Atom complains that it can't delete files, I can't save anything etc. when I mount the server.
    – Allenph
    May 12, 2016 at 9:34
  • @Allenph Are you sure you do not have permission issues? May 12, 2016 at 13:34
  • Mhm. The remote server is Debian. It complains about the lack of a trash can, etc.
    – Allenph
    May 13, 2016 at 6:03
1

Geany, (pronounced "genie") is GPL2, lightweight, highlights the OP's specified languages, does code completion, has a built in terminal (or a plugin tabbed terminal), etc.

FTP & directory opening, no, but sort of yes -- the developers recommend mounting remote file systems with Fuse or LUFS, which provides the same features as FTP et al.

Version control (git, subversion, etc.) can be had with the GeanyVC plugin, and git-changebar for a few more git features.

1
  • I actually was messing around with Geany a little earlier today. The main problem I had with it is that it seemed to be very picky about how it indexed projects. From what I could find on the web you have to keep a .geany config file in your project that explicitly defines which files belong to that project. Just using creating a Laravel project alone would be a nightmare to index by hand.
    – Allenph
    May 11, 2016 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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