A New IDE for Your RPG

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

ILEditor gains some traction and goes open source.

Way back in May of 2017, I wrote a piece called "What I Learned at the Spring COMMON Conference 2017" in which I touched on the need for a more lightweight Integrated Development Environment (IDE) for IBM i. My simple gripe is that I don't want to be bound by the limitations of SEU or the learning curve, price, and sheer size of RDi. I'm primarily a sys admin, but I do need to edit and compile some RPG and CL from time to time. When I do, I want to do it with a little more functionality and style than SEU.

Many believe RDi is just too expensive, and I do empathize with the independent programming consultant. I also understand the counterpoint that if you're a heavy-duty mechanic or a plumber or a carpenter, then you buy your own tools. There's a valid argument for both sides. For larger development shops, I still maintain that buying developers decent tools should be part of standard office expenses.

But I don't want to rehash all those arguments. I just had to provide a little setup.

A couple of months after I wrote my COMMON recap, I got a note on Facebook Messenger from Liam Allan saying he was building a lightweight IDE called ILEditor, and he wanted to know if I wanted to have a peek at it. He's read some articles I've written on the topic of IDEs, Orion, and RDi and figured I'd give an unbiased opinion because I really didn't have a dog in the fight. Fair enough, and I do like kicking tires. I received a download link and was editing some RPG and CL within a couple of minutes. That's what I'm talking about. The only real configuration I had to supply was the IBM i partition IP address and my user ID and password. After that, it was a matter of telling the IDE what source members to pull from. See Figures 1 - 4 below.

A New IDE for Your RPG - Figure 1 

Figure 1: The ILEditor welcome screen

A New IDE for Your RPG - Figure 2 

Figure 2: Viewing spooled files

A New IDE for Your RPG - Figure 3 

Figure 3: Viewing the error list

A New IDE for Your RPG - Figure 4 

Figure 4: Editing RPG with ILEditor

After a couple of months, ILEditor grew with some decent momentum and went open source in November 2017.

I sat down with Liam last week for a few minutes to discuss everything new with ILEditor.

Steve Pitcher: So, Liam, let's pretend I haven't seen the project yet. What is ILEditor?

Liam Allan: ILEditor is an editor for development of ILE applications on IBM i. ILEditor will support development with any ILE language, be it CL, RPG, COBOL, C, or C++. Error listing and syntax highlighting are available for all ILE languages.

SP: Why did you build it? There are other editors out there. I've written before that Orion had potential if it had more features. Orion is pretty bare bones but does look good and has promise.

LA: I needed a free IDE that I could quickly install everywhere and had all the functionality I needed. I am also a firm believer that there should be a free option since a lot of people are still using SEU.

SP: From an SEU perspective, why would a developer want to use an IDE? I ask because, even when RDi was free, a lot of people didn't use it.

LA: I suppose a daunting UI would be a stopping point. If you're going direct SEU to RDi, it can be tough because of everything that's available in Eclipse. There may be a learning curve for ILEditor, but the difference is that the UI and UX are not as complicated. You have Ctrl+O to open a member, the toolbox with all the available features, etc. Eclipse is so vast in what it can do. ILEditor has one focus, which is ILE development. ILEditor is small. It gets the job done, which is the requirement.

SP: And moving it to open source?

LA: From what I have seen, projects improve quickly over a short period of time because lots of people are contributing. For ILEditor, I have always been asking people or making GitHub issues with my ideas before they're implemented.

SP: It has a collaborative spirit from the start. What kind of feedback have you received so far?

LA: So far, so good. In December, it had around 350 downloads, and that's the most in a month since release. I provide an email address, or people can provide feedback or issues they find. They can also open GitHub issues. Dark Mode was an idea from a lot of Club Seiden (a Slack channel) members, and it's one of my favorite features. We also have two open pull-requests - one for SEU line commands and also one for content assist. I am still hoping more people will submit the issues they have or features they would like to be added. We've had two small bug fixes from a chap named Nathaniel Collier, which is great, who is always the guy working on the SEU line commands. He is also a casual user of ILEditor, so whenever I have an idea for it, I will discuss it with him for a second opinion.

A New IDE for Your RPG - Figure 5 

Figure 5: ILEditor in Dark Mode configuration

SP: So what's next on the list for ILEditor? I've seen a lot of changes in the last few months. The Dark Mode feature is cool. Even little things like Access Client Solutions integration in order to fire up an emulator. I just noticed that today. Also the compare source members feature is pretty slick.

LA: As for the future, some of the main features we're looking at are:

  • Generate documentation from source (possibly making use of another OSS project, ILEDocs)
  • The ability to insert code snippets
  • Multilingual support
  • Code coverage is something I want to implement. It's really useful, and I want to make it easily accessible, so it's a high priority for me.

What I liked about ILEditor the most is the ease of use and low time to code. The fact that it's now a community effort makes it attractive because it has the capability to grow much faster in terms of features.

For existing features, here's what ILEditor does so far:

  • Source Member Editing - Browse, view, and edit source members inline with all the tools available.
  • Inline Error Listing - After you compile an object, you are able to get a pretty compile listing right within the interface. Each error is clickable, in which it will take you to where the error is located.
  • Multiple System Configurations - Set up multiple systems so you can switch between them easily.
  • RPGLE Fixed-to-Free - ILEditor provides functionality to convert your fixed-format code to free-format.
  • ILE Syntax Highlighting - ILEditor highlights your C, C++, COBOL, CL, and RPG sources to make it easier for you.
  • Store Source Physical Files Locally - Similar to iProjects, ILEditor provides the ability to clone and store your code locally (will save changes too) so you can make use of version control.
  • Quick Search Through Source Physical Files - ILEditor provides a function that allows you to quickly search your local members.
  • Quick Member Search - Open a member without taking your hands off the keyboard. Search for a member by library, SPF, or member name.
  • Member Diff - Simply show a modern diff between two source members to make better observations of changes.
  • Spool File Listing - See a list of spool files at the click of a button. Have them inline with the editor!

To get started, go to https://github.com/WorksOfBarry/ILEditor and download yourself a copy.