Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What features of your IDE would you miss most if you didn't have? Please list one one feature or group of related features per answer.

share|improve this question

closed as not constructive by ChrisF Jan 28 '12 at 14:53

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

13 Answers 13

up vote 24 down vote accepted

Syntax highlighting is absolutely a must. Without it, I just can't read programs.

share|improve this answer
2  
For syntax highlighting all you need is good editor (even gedit - which is GNOME notepad - have it). –  Maciej Piechotka Sep 5 '10 at 10:58
3  
Even vim has syntax highlighting. –  Chris Sep 5 '10 at 13:46
2  
I had to work without syntax highlight once and was surprised how incredibly more difficult it made the task. Definitely don't want to repeat that situation. –  EpsilonVector Sep 5 '10 at 15:53
2  
@Chris you say that like you wouldn't expect Vim to have it. ;) –  alternative Sep 11 '10 at 13:50
2  
I’m amazed that syntax highlighting is apparently more popular than the ability to save your work... –  Timwi Nov 1 '10 at 18:29

Auto-complete is most useful feature for me by far.

share|improve this answer
3  
The only problem I have with autocomplete is that I don't remember method names –  Casebash Sep 5 '10 at 8:06
1  
@Casebash +1 for that! In my university, we still do programming exams with pen and paper, so we have to remember everything. It seems that auto-complete spoiled me, since I too have problems with method names! –  AndrejaKo Sep 5 '10 at 9:16
    
@AndrejaKo: I think that the way to solve that problem is to think the complete name before you type it and if you don't know it, then store the name in your head after look it up –  Casebash Sep 5 '10 at 11:16
2  
@AndrejaKo: I never could understand this part of it but I did find myself at times creating my own method names and tossing a comment on the paper explaining what it does. We would call those "magic methods" because they only existed during exams! –  Chris Sep 5 '10 at 13:36
    
@Casebash I actually meant methods which are part of the language itself. Like countless classes and methods used in AWT for example. @Chris You're lucky! We actually have to write everything that isn't part of standard library of the language we use. –  AndrejaKo Sep 6 '10 at 12:21

Code formatting. When I'm in a hurry I don't take care of it, so I love it when my IDE does it for me.

share|improve this answer

Saving.

Pretty sure I'd miss it if I couldn't make changes to files in an IDE.

share|improve this answer
2  
Support for printable ASCII characters? –  Maciej Piechotka Sep 12 '10 at 23:30
    
Actually I don't like how the save feature works on any IDE/text editor I've ever used. The problem? I have to keep hitting Ctrl+S or <Esc>:w<CR> to save. Why? Just save the damn thing and stop bothering me with tiny unsaved changes stars on my tabs. I changed it? Save it! –  R. Martinho Fernandes Sep 15 '10 at 3:31
    
Martinho, that's the implementation of the feature, not the feature itself. But yes, an auto-save that triggers after you've stopped typing for X seconds would be a good improvement. –  Peter Boughton Sep 15 '10 at 10:09
    
An auto-save that triggers on every keypress would be an even better improvement! :) –  Timwi Nov 1 '10 at 18:31
    
No it wouldn't. I would end up wearing out hard-drives far too quickly, and get in the way of other disk operations, causing everything to slow down. It would be annoying for doing things like Ctrl-X,S,V in order to temporarily remove a piece of code for one request without removing it completely (infact even with the save-on-pause that'd be an issue, so would need a way to temporarily prevent it for situations like that). –  Peter Boughton Nov 1 '10 at 23:19

I would miss if when there was compiling errors, and I double clicked on an error if it didn't take me to the location in code with that error. When managing a project with hundreds and hundreds of source files this would really kill my day :)

share|improve this answer
    
This is actually pretty simple to implement as a command that greps the output of the compiler and opens the file at the right line. –  alternative Sep 11 '10 at 13:48

Extended debugging support. For example, visual studio supports showing the value of a user defined type object's value as tooltip which can be expanded in-place to get more information about the nested class members. This has been huge time saver for me when I switched from VC98 to Visual Studio 2008 (I use C++ in my daily work).

share|improve this answer
    
+1 for debugging! –  pramodc84 Sep 6 '10 at 3:57

Navigation tools:

  • Go to definition
  • Go to implementation
  • Go to line N
  • Go to type

These alone (on key-combos) probably increase my over development speed by 30-40%.

share|improve this answer
    
I also like that ability to go to the documentation –  Casebash Sep 5 '10 at 20:46

The ones I would miss most are obviously the most fundamental ones, e.g.:

  • Basic file-handling capability (open and save files)

  • Basic editing capability (move cursor, insert characters)

  • Basic programming tools (invoke compiler, run program)

You think these are too basic and too obviously present? Then the ones I would miss most are

  • Advanced file-handling capability (open multiple files in tabs, save all)

  • Advanced editing capability (copy & paste, indent block, search & replace)

  • Advanced programming tools (step-by-step debugging, ability to abort process)

Still too basic? I suspect you haven’t been specific enough...

share|improve this answer

Refactoring support.

I had to extract a class the other day in a VS2003 C# project, which meant no refactoring tools. It took a long time to resolve the errors in the remaining class and the unit test code!

share|improve this answer

Auto-import

i.e. click on an class name and pick "import from package X" from the context menu.

In Eclipse this is integrated with auto-complete, but in theory they could be implemented separately.

Auto-indent

i.e. when you start a new line it is automatically indented according to block nesting.

share|improve this answer

I enjoy the smart helper thing in visual studio. I forget the name of it, but it is that feature the will underline the first letter in vs10 (or last if in vs08), and when you activate it you get a context menu of generate class/method stub/add using statement/etc.

Does anyone know what I am talking about?

share|improve this answer
    
I cannot figure out how that works. Sometimes you hover over it with the mouse and nothing happens and you don't know whether it is because there is no context menu for that identifier or whether you just need to wait a bit longer. Good idea but confusing interface. –  finnw Sep 9 '10 at 19:01
2  
@finnw: why would anyone want to use the mouse for that? That's awful. There's a keyboard shortcut, that defaults to Ctrl+. –  R. Martinho Fernandes Sep 15 '10 at 3:33

The ability to set a custom color-scheme for the IDE.

share|improve this answer

SyncEdit

This is an awesome feature which, as far as I've seen, is only found in the Delphi IDE, but ought to be standard issue.

You select a block of code and hit the SyncEdit button, or the keyboard shortcut for it. It goes through and scans your block and finds all tokens that are used more than once and underlines them. Place the insertion point inside any underlined identifier and all its duplicates get highlighted with little boxes around them, and any changes you make to it get made to all the duplicates too.

It's like an instant, ad-hoc version of the Rename Refactoring tool, or a visually intiutive search-and-replace, and it's so useful that I frequently paste code from other languages (or even just plain English occasionally) into Delphi so I can use SyncEdit to simplify some editing.

share|improve this answer

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