ThatJeffSmith

Getting Your Mind Out of the Gutter and Your Line Numbers In

Hopefully your code is cleaner than what runs through this every morning


I’m not sure if I can help with the mind part, but I can definitely add some perspective on the line numbers. Quickly, let’s define just what the ‘gutter’ is in the world of programming and database GUIs. I found a good definition on Quantum Whale, a .NET component developer, and I’m going to quote them:

Gutter:
The gutter area can be used to display bookmarks, line numbers and outline sections.
The gutter is the area to the left of the text, the purpose of which is to display miscellaneous indicators for the corresponding lines of text. Among these indicators are bookmark indicators, line wrapping indicators, line styles icons, and line numbers. All the images displayed in the gutter are contained in the gutter image list.

Notice the VERY last thing mentioned in that description. A place to display ‘line numbers.’

Now here is the question of the day –

Should your IDE show these by DEFAULT?

I’ll save you the suspense and tell you that many of the IDEs out there DO NOT, and that includes SQL Developer. There are probably a few reasons, and I can make up more, but it probably comes down to this:

  • JDeveloper doesn’t
  • Keep the coding area as clean as possible

One of those reasons is a technical reason, and end users could care less about those. The other is more of a personal choice / philosophical decision. When you make these types of decisions, you opt for something with minimal impact to the user base, and aim to ‘do no harm.’ Did we make the right decision here? For many of you, yes we did. For many others of you, no we did not.

In our defense I could publicly mention several other database IDEs that have the exact same behavior. But, I would also argue with myself that those people are no better off and that we should strive to be the best. Yes, I do tend to argue with myself quite a bit.

One of my Twitter friends asked me if SQL Developer was an IDE or was it Notepad. Ouch, being compared to Notepad. Although I will admit to Notepad being my default HTML editor and I have no problems not having line numbers there.

I get his point though, serious coders are working on programs with many thousands of lines of code. They need little helpers to get them through the day.

Lets take a quick look at the following picture:

SQL Developer Worksheet with Line Numbers Shown

So the error message is on line 11. This is where the Oracle parser gets upset that it’s not finding that COMMA that it expects. If it were complaining about line 24,327 it might be a pain to get to that line number, right?

Except.

Ctrl+G will open the ‘Go to line number’ dialog for easy jumping.

It’s a click-click to get the line numbers on. I suppose you could argue that folks might not know where to click. Right-mouse-click in the gutter space.

Right-mouse in the gutter

If you are in the PL/SQL Editor, you can actually click on the error message in the ‘Compiler Log’ panel and it will take you to the indicated line number for that error message.

Maybe I am too close?

What I see as intuitive, you see as a trick?

If you think we’re doing it wrong, please add your vote in the form of a comment to this blog post. You can also up-vote this request in the Exchange, although it needs re-worded.

Maybe we need a SQL Developer++? Notepad++ after all DOES show line numbers in their gutter by default :)