17

I am looking for a good editor that would provide me with an IDE-like experience in building shell scripts. Ideally, it should support Linux bash and Windows batch file formats, Windows Power Shell is definitely a plus, but not a requirement.

Here is what I am looking for:

  • Syntax highlighting, at least for language constructs and known native commands/functions
  • Auto-completion based on the insertion context, like the intellisence for Visual Studio. Most editors seems to support suggestions based only on the file contents, without having some sense for the appropriateness of the suggested item, depending on the use context
  • Ability to detect open-close brackets and parentheses, highlight unclosed or incomplete expressions. This is quite important as I am personally not that good at shell scripting and most of my issues are caused by similar to the mentioned problems.

A plus would be:

  • Ability to execute the script immediately, or configure a set of environment variables in the scope of a single execution.
  • Definitely, a free solution will be gladly appreciated, still listing the commercial ones will not hurt, as I definitely have no idea what tools target this specific area, and more of this information at one place might be useful.

At the moment I'm using Notepad++ on Windows and Kate or Geany on Linux, but all have their auto-completion logic being based only on the file contents, rather than being context-oriented (if it is available at all). The syntax highlighting is not proper, failing to recognize some valid constructs, keywords or native functions/commands.

If you can also refer to an IDE or IDE plugin I'd be happy to get to know it too. I'd prefer any of the following IDEs, as I frequently use them and am familiar with, but feel free to extend beyond that list:

  • Visual Studio (preferably 2010)
  • Eclipse / STS
  • MonoDevelop / Xamarin Studio

As I mentioned shell scripts for different OS-es, this would raise the question of what my target OS is. This is important as detecting the natively supported features of the shell script language may depend on that. The problem is that I am doing shell-scripting for both Windows and Linux, and this makes it quite hard for me to put a restriction on that matter.

So, in an attempt to reduce broadening the subject, I'd appreciate any of the following requirements for the suggestions:

  • A combination of:
    • A Windows tool allowing for development of Windows Shell scripts
    • A Linux tool that supports the native Linux scripting
  • A single cross-platform tool
  • A single non-cross-platform tool that supports both Linux and Windows scripting, regardless of being native to the Linux or Windows OS
5

The best option is probably eclipse plus a shell plugin. For Windows you could add a powershell plugin too. Other IDE's may have similar features but I am most familiar with Eclipse. (To be honest, I use editors, not IDE's, for 99% of of my work, so my experience with IDE's are a bit secondary.)

For heavy text editors (Notepad++, vim, emacs) you are never going to get really good autocomplete. That means basically going with an IDE if that is important to you. The real strength of eclipse is in its plugins here, and that's probably where I would go if I wanted an IDE.

To be honest, my own experience is that for productivity, I usually find VIM is where I get most of my productivity gains, but it doesn't even come close to what you are looking for. It sounds from your question like you are looking for an IDE. For cross-platform work, my experience with Eclipse and the network of plugins has been very favorable.

2

I usually use OSes in the *nix family so this may not help:

I'm a big fan of Sublime Text and since it offers a free, unlimited trial (Windows, Mac, Linux), you don't have much to lose.

While it is a text editor, there are plugins that get pretty close to an IDE (I say "pretty close" because I sometimes get conflicts between plugins).

There's a healthy community of users that share plugins, themes, extensions, snippets, syntax highlighting rules, etc.

Very similar is the Atom editor.

I'm not very experienced with shell scripting but between snippets (for auto-completions), syntax highlighting and linting, you can get pretty close.

Hope that helps!

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.