123
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|686|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> Concept/Design -> Editors

Thu, 23 Oct 2008, 18:19
mindstorm8191
Well, judging by the current standings in today's poll, it looks like most people like simple editors, me included. Of course, making a feature-rich editor that also appears to be simple to use is quite a challenge. So I figure we should have a discussion about it. What ways have you seen editors to be made complex, and if you have any ideas to make those editors better, share them.

For me, I hate using the C/C++ editors I've tried. They all require creating a project before you can do anything. They all need you to make include files before you can run anything - except main.cpp. This part leads me to headaches every time, because when you're trying to work with multiple files, it becomes impossible to get everything right. I end up going back to Blitz, where I can write a module and include it with my code by just one call.

So what problems do you not like?

-=-=-
Vesuvius web game
Thu, 23 Oct 2008, 18:50
JL235
Managing everything from a single file just doesn't scale. You also do get used to having lots of files, especially if it follows good conventions and is well maintained. The project thing also makes it far easier if you are working across projects (i.e. on a new library and an app that uses the library).

Personally I really like big IDEs because of the extra tools and power. There is so much you can easily do in them which just doesn't exist in simple editors. Like I can click on any method or class and just go to where it's defined. If it's defined in a different source code, that will be opened. Typically the main editor window is also more advanced.

I can also set up how my project is run. So for example I could have a debugging run mode, a normal run mode and maybe a prototype test running mode.

fyi: In Java you also only need to write a single line to load a class, or all the classes within a package, for you.
Thu, 23 Oct 2008, 23:57
shroom_monk
I like editors with a simple layout, but a lot of power tucked up in there. Dev-C++ is quite simple (except the project thing, but I don't mind that), but it's still quite good because you can do so much with it. Also, at a slight tangent, Valve's Hammer World Map Editor is also quite simple to use (once you get the hang of it, which doesn't take long), because there isn't too much on screen, but you can create quite complex things. Although it can seem complex to use at times, everything you need is easy to find, as it's not complex to see.

-=-=-
A mushroom a day keeps the doctor away...

Keep It Simple, Shroom!
Fri, 24 Oct 2008, 07:45
JL235
I have to use vi at work on the servers, I absolutely cannot stand it. I'd say it's excellent for editing a few places in an existing file which is thousands of lines long. But for writing something big and proper I find it a complete nightmare.

Maybe it's because of the terminal software but one big thing I hate is that the keys don't work when your in editor mode. Instead they enter a character on the line above which then requires you to go and delete that line.

I also don't like how easy it is to completely fuck up the file that your editing to the point where you just need to exit and restart. I also hate how :X encrypts (or does something similar) to the file which makes it unreadable. This is a real pain as :x is save and exit.

Emacs is far better.
Fri, 24 Oct 2008, 09:10
Cower
I hate...

  • Menus of any sort, but particularly large menus.
  • Toolbars. It's possible for toolbars to be useful, such as those in Office 2007's programs that do use the ribbon UI, but the vast majority of the time it's just throwing crap from the menu onto a bar and taking up space. I use hotkeys, the toolbar can bug off.
  • Illogical hotkeys, or hotkeys that are not 'standard.' Ctrl+S should be save, Ctrl+Shift+S should be save as, Ctrl+O should be open. If they're different, I probably won't bother changing them and just write the editor off as trash.
  • Lack of an easy means of defining custom languages. We have regular expressions, I don't see why more editors don't allow the use of them in defining languages.
  • Arbitrary rules. I can't create a new file without starting a project? How about being unable to save without an extension? Screw that.

I currently use e, and frankly it's probably the closest thing I've found to a good editor on Windows. I really like that it's easy to customize, allows me to write scripts/commands/etc. for it using any scripting language that's accessible from the command line (I prefer Ruby, but I got Lua working in it too, which is pretty cool that I'm not forced to use what it wants me to use). It doesn't have toolbars, it has very small menus and everything is easy to find, and it has tab-stop stuff which is just plain cool and works really well.

I can't say I prefer vi, but I do like vim (it's just a little easier to get into) for editing stuff. It's a very powerful editor and it does what I want, but even in the newer branches of it like Cream there's still that terminal feel that I'd prefer to avoid most of the time.

I'd say emacs defines everything I hate about editors.

Basically, I'm all for stripping out primarily unused features or hiding them away where only the nutjobs that use them can find them. Your average user should not see everything, they should see only what's necessary for the average user. If only 4% of users use a feature, I'd say get rid of it, it's not worth having at the expense of making the program a pain to use.

</UncoordinatedRambling>
Fri, 24 Oct 2008, 09:23
Jayenkai
Well Rambled.

I agree with 99% of the Cower's rant, but I do tend to use the save icon, rather than keyboard/menu for saving.
Not sure why...
Probably a throwback from all those editors that WERE slightly different, and didn't Ctrl-S = Save, or something like that..


-=-=-
''Load, Next List!''
Sat, 25 Oct 2008, 09:37
Phoenix
I like editors as simple as they need to be. In Visual Studio, I take away all of those useless toolbars and windows, and suddenly it's actually fairly slim; especially if you use those auto-hiding windows. But, VS is fairly complex compared to Notepad. This doesn't mean that one of them is bloated and that the other one is thin.

I hate it when there's just too much stuff on screen.
Sat, 25 Oct 2008, 11:08
Stealth
PHP Designer 2007 is much simpler, and it's free.

I've been using aptana.com/ because it offers a lot of great features if your big in to web development. Although after cower's post, I've been experimenting with e.

Coding by hand is all I want my IDE to allow me to do. If the tools built in to the IDE help me do that more quickly then cool. If not, then they are just an annoyance to me.

-=-=-
Quit posting and try Google.
Sat, 25 Oct 2008, 17:09
mindstorm8191
Phoenix, I kinda agree with that picture. When there's that much stuff on the screen, you barely have enough space to actually look at your code. Its all pushed down into a tiny square, where you end up having to scroll left & right to view full lines. Or, like I have done before, space various code pieces over multiple lines, in some working, meaningful fashion.

A good editor should let you view your code, and as much of your code as possible. Not flood your screen with a bunch of mostly-unused editing options. In that picture, I don't know what half those buttons do. Sure, it looks very feature-full from a screenshot (which would probably look good for showcasing the editor), but none of them help me write my code.

Something I'd like to see editors do is to have the view of the text follow the cursor. For example, if I'm moving the cursor to the far right of the screen, I'd want the editor to slowly and gradually move the view of the text to the right, allowing me to see where the cursor is going. The editor could do the same for scrolling up and down... though I can imagine situations where you wouldn't want it to do that. Does anyone else think this would be a useful feature?

-=-=-
Vesuvius web game
Sat, 25 Oct 2008, 18:20
Jayenkai
Sounds like a good idea, but there are more important issues to deal with first.

Like when you're editing a long long line, and drag over a small piece of it, only to have the mouse cursor (which is that annoyingly unspecific I bar thing) flip to the line above/below the line you're working on, which is shorter, and the view flips back to the left, completely ruining your view of your long line..
..

Or is that just me, with my crazy long lines of code?!

-=-=-
''Load, Next List!''
Sat, 25 Oct 2008, 19:17
Cower
Or is that just me, with my crazy long lines of code?!


I usually break long lines into multiple lines, e.g.,



I dislike long lines.
Sat, 25 Oct 2008, 19:32
JL235
Parts of this discussion seems a bit, wrong. People are talking as though you are forced to always have say the ouput and project explorer panes open and forced on you. You don't! I have them auto-hidden so they are only open when I'm using them. At that point I don't want to look at my code, I want to look at the output of my program or the makeup of my project.

In most editors you can remove the toolbars and you can remove buttons from toolbars. You can also make the toolbars use small icons so they use less space. In most you can also close or auto-hide windows. So all that crap on the screen you don't like, just remove it.

In Eclipse you can even have multiple views like a Java Debugger view and a Java Editor view. This allows you to customize what stuff you want onscreen (or to be auto-hidden onscreen) under different circumstances. You can then just switch in the top right between the different views.

In NetBeans you can go into fullscreen mode and it's toolbars and menus use less space then those in the Blitz Basic editor!
Sun, 26 Oct 2008, 21:22
mindstorm8191
JL, you make a valid point. Sure you don't need to be viewing your code when you're testing things, and yes, decent editors will let you hide things that you don't want on the screen. But the trouble I find, when I'm coding in C# or something, is I'm frequently referring to these items. I could slide them out of the way, yes, but then I'd have to go pull them back out when I want to make use of it. Hiding it completely means I'd have to go through a complex process to bring it back up again, when I need it.

It also seems like having all these viewing features makes the editor complicated. They're not explained, described, or have no description of how to enable / disable various modes, for example having a pane pop up when you mouse over the edge of the screen. You have to stumble across them.

-=-=-
Vesuvius web game