What is your favorite feature of your IDE/code editor? What makes you like it so much? Is there a feature that it doesn't have that would be a strong enough pull to cause you to switch IDE's (code editors)?

+18  A: 

In VisualStudio, IntelliSense and Auto Complete.

Code highlighting cannot be overlooked because of how readable it makes code.

Both of these features help me code quicker. IntelliSense can be a pain sometimes, but it saves me time because using it can be as good as having an API handy for those times when you know you need to use a function, but you can't remember exactly the parameters that it requires.



Matt Hinze
Is that an IDE feature? I guess not.
petr k.
That's not integrated.
The Alpha Nerd
The IDE feature is that it can host Resharper. That's all I use the VS Professional SKU for anyway - otherwise I'd use Express.
Matt Hinze
+4  A: 

Auto-completion features are my favourite, when executed well, in any IDE. They simply save typing all of that extra text - and no IDE should be without them. (Visual Studio's IntelliSense is also brilliant.)

James Burgess
+3  A: 

Eclipse quick-fix and refactoring!

(and the usual stuff, highlighting, completion)

Henrik Gustafsson
Resharper for Visual Studio also has a Quick Fix-like feature.

For Visual Studio:

  • IntelliSense - I don't have to remember all of the variable name.
  • Code Snippets - I like it for the speed and I can quickly create a method property, or #region
  • The Find Features - I can search for the instance of a class when debugging
  • In 2008 the Split for developing aspx pages. I love seeing both on the screen at the same time and it speeds up my HTML development.
David Basarab

Visual Studio. Despite all it's goofy "quirks" MS really got it right.

Intellisense is fantastic but makes me lazy; I like being lazy.

Something that's overlooked is the IDE writes the build script for you. Write something in Anjuta for a GNOME project and then try to build it all manually.

Not sure what you mean by your comment on Anjuta. Are you saying IDE-generated build scripts are a bad thing? Or that it's good that you can compile your code easily without the IDE available?
wow - had to remember my thoughts from that long ago... Just saying that I do like that they take that tedium off of my shoulders but it does make it tough if you need to do it manually since you might not have intimate knowledge of the process.

All the advanced features that shield me from boiler plate code.

Also lately, while using LINQ, Visual Studio's feature which generates classes based on the database schmea (LINQ TO SQL) is brilliant.


I'm a big user of VisualAssist's Alt-G, to go to the declaration or definition of a symbol.


Huge fan of Visual Studio, however, as a (mainly) C# guy, I am very jealous of the VS IntelliSense support of VB.NET. If someone could build an addin for Boo language I would be in heaven.

"VS IntelliSense support of VB.NET" ... doesn't C# have the same intellisense support ... ?
Dan Esparza

We use Zend Studio for PHP which is one of the few PHP IDE's that supports code completion. It requires a strict use of PHPDocumenter comments though.

Another handy feature is integration of Subversion or the Source Control Management-system of your choice.

For a webdeveloper, an IDE has to be fluid in a lot of different languages. In my example: PHP, HTML, CSS, JavaScript. Understanding what is which language and providing appropriate code support isn't something you'll find in a lot of clients.

+8  A: 

Syntax Highlighting is all I need in an IDE.


Automatic background compilation in Eclipse (Full Solution Analysis in Resharper, and I don't know what its called in all of the other Java IDEs that have this out of the box). There's really nothing else that comes close.

A close second is context-sensitive intellisense.

About the only thing in Visual Studio to brag on is how easy it is to install Resharper. :)


In Eclipse: Find Reference and Refactoring. I'm doing a lot more code review and code refactoring than code writing. If the IDE has no Find Reference, then I switch to Emacs, because that means the IDE doesn't index the possible calls, and that it's going to be slow as molass when refactoring.

Damien B
+4  A: 

Being absolutely extendable and customizable to my editing style on the fly, along with the ability to have (practically infinite) split-pane editing.

I use Emacs. It has a learning curve, but it's worth it.

+1 for emacs' split-pane editing.
Rob Hruska
Split panes (windows in Vim, which I use) are very useful. I use it in combination with tabs, so that .cpp/.h pairs are in one tab. It's really useful when building a class from scratch.
+3  A: 


Robert Durgin
+2  A: 
  1. Step through debugger
  2. Refractoring tools
  3. Source control integration.
+2  A: 

Syntax highlighting - though it's not really an IDE feature anymore, most text editors have it.

I like Visual Studio's "Find All References" - it's much more useful than simple text search.

"Go to declaration/definition" helps a lot with navigation; it takes a while to go through all the text search results when trying to find the definition of a common function.

Auto-completion, I find, is most useful when learning a new language/library/API/etc. It helps you see what is available, what alternatives there are, and even point out some basic mistakes.

Source control integration is another nice feature of IDEs that saves time without hindering the usability of the application.

Find All References is a big pain if you have a big solution and it takes forever for Visual Studio to compile (I can't wait for incremental compiling like Eclipse has had for ages). Text search is often quicker, though less specific if not done correctly.

In Visual Studio 2008 (might have been available before), you have the ability to "rewind" the code to the point before the exception occurred. You can also change the code while it's paused in the debugger, and continue on running. It's really nice to almost never have to do the stop, fix, build, run scenario every time you find a tiny problem in your programming logic.

+2  A: 

The one and only Ctrl+1 (Quick Fix) of Eclipse. Sometimes it annoys me though, some Java beginners just write a bunch of incomplete or wrong code and Quick Fix just makes it compile !

+1  A: 

Code completion in Eclipse is by far my favorite. I can end up writing a large application using Ctrl + Space to write most of the code.


Auto-replace. So I could type # and it would complete to a, say an if block, as an example.

The Alpha Nerd
+1  A: 

IDLE is equipped with some excellent whitespace support. Tab remaps to four spaces by default, but can be changed to whatever standard you prefer. Ctrl+[ and ] allow multi-line indenting and dedenting.

Much like LISP editors and parens, I think people would be a lot happier starting with Python if they used an editor with good whitespace support.

J.T. Hurley
Vim's supports all said features ("et for tabs to spaces, and ^T, ^D or >, < for indent/unindent, respectively). Autoindention is a must for me, though. It's so hard writing code strait into SO because of all the spaces I have to press (and count)...
Ctrl + [and]? Do you mean [end]?
@the_drow:No, the keys are are actually Ctrl + the "[" key to dedent selection and Ctrl + the "]" key to indent selection. Sloppy on my part.
J.T. Hurley
+1  A: 

In Eclipse:

Copy and paste a stack trace from somewhere else--email, log file, etc--and the stack trace becomes browsable.

+3  A: 

Constant background compilation or at least close to that . I see errors as soon as they pop or when I save. I'm too lazy to hit make or ant after every change.

+1  A: 

In Eclipse, two features that dramatically increased my productivity when I started using it over lesser text editors were the abilities to:

  • jump from a function reference to its declaration (F3)
  • jump to a file/resource (Ctl + Shift + R)
Rob Hruska
+1  A: 

In Delphi 2007:

  • Syntax Highlighting.
  • Auto-completion. Far less typing. Saves having to remember all method names and arguments for each.
  • Simple refactoring tools. I use the rename method/variable most often. It searches through all files in the project and renames all instances of the method/variable. :D
  • Pop-up hints when holding the mouse over unfamiliar methods. The pop-up hint shows where the method is declared, all arguments and variable types.
  • Syntax checking. Helps to quickly identify mistyped keywords.
  • Being able to record macros easily.

I've not done much coding in text editors but I imagine my productivity would drop. In short, I love my IDE! ;)

+6  A: 

Man. To pick just one would be awful. More than that, I use two different IDEs, at a minimum.

Just a few of the benefits I have found:

Visual Studio w/ Visual Assist:

  • Go to any file in a solution at any time (CTRL-ALT-O)
  • Go to any symbol in your project at any time (CTRL-ALT-S)
  • Find references to a symbol across your project at any time (VAssistX->Find References)
  • Syntax Highlighting
  • Go-to symbol under cursor (ALT-G)
  • Switch between header/source file (ALT-O)
  • Just basically anything that makes things keyboard accessible.
  • VCS/SCC integration


  • A large portion of the above, but also:
  • Easy window splitting/navigation that's keyboard friendly
  • Regular expressions that make sense (stupid MS changing the format)
  • Superior keystroke handling
  • Customizable as snot
  • Being able to tell people I use Vim as my IDE. ;D
Eddie Parker
You forget how amazingly useful "find all references" is until you leave VS. I'd add "Implement Interface" and "Refactor" to that lsit.
+3  A: 

Auto-indention, especially the context-aware kind.

I would be fine if an IDE just kept the current indention. What makes a nice IDE is the context-aware bit: after I type { followed by a newline in C++/C#, the next line should be indented one more level than the previous one with a tab (expanded to spaces if that option is set). Similarly, if } were typed as the first character on a line, that line would un-indent by one tab.

+3  A: 

In my Vim environment, I can put my cursor over a custom type (eg MyClass) and 'tag' to it. This opens my_class.cpp in a new buffer. I can then check it out, edit it, and hit 'back' to go back to the original file and hit another button to compile and run tests.

All without my fingers leaving the keyboard.

It makes investigating a breeze and experimenting quick and painless.


Incremental search (CTRL-I in Visual Studio).

Pascal Paradis
+1  A: 

One of my favorites must be being able to look up a specific file in a project by its name.

When the project has a complex directory structure, it usually requires a bit of mouse+keyboard wizardry to navigate to the file you're after. The following prove themselves useful (on Mac OS X) each day:

  • Cmd-Shift-N in IntelliJ IDEA (Ctrl-Shift-N in Windows)
  • Ctrl-Shift-R/T ("Open resource or Open type") in Eclipse.

I like NetBeans and now it will detect file types and give you the panels to add elements in. Also the auto complete and auto space indentation is really nice right out of the box.

Thomas Schultz
+1  A: 

Maybe this is also part of code completion, but I think automatically resolve and insert the correct import (for Java) or using (for C#) commands is the best thing since sliced bread.

Imagine you always had to browse the documentation to find in which package/namespace a certain class resides.


In Emacs (and this is also a major feature in Vim) - feeling superior to people who use IDEs such as Eclipse, IntelliJ IDEA, Visual Studio, etc.


Andrew Johnson
+1  A: 

Go to definition and back in Visual Studio. It's invaluable when trying to read code.

Not just Visual Studio - most editors have some form of this feature.
+1  A: 

My favorite is Visual Studio's "auto-include" feature. If you're typing the name of a type that one of your project's references contains, but doesn't have the namespace included in the current file, a small underscore appears under that type. From there you can press "Ctrl + .", and opt to include that namespace.

Also, the "Organize usings -> Remove Unused" is nice.

+1  A: 

Having the ability to perform any function with out having to reach for the mouse, including reasonable text navigation. (Emacs)


Eclipse debug, and the usual stuff, highlighting, completion..

Fábio Antunes

In Visual Studio, I really like turning on the word-wrap option. No more faffing around with underlines, which then don't work right on another PC or another resolution. I hate scrolling left and right in code. I've not met many who like this, though.

The feature I most want is support for multiple monitors, and it's supposedly coming soon :)

+1  A: 

For me having the IDE manage build dependencies (that is what an IDE is for, I suppose) is the kill feature. Writing make/ant/etc. files by hand is a waste (and a pain).

Barry Wark

Context auto-completeion in Eclipse by pressing Alt+/. It works everywhere in every file, even in unknown files with unknown languages. It just seeks similar word near current word you are typing, and completes it.


Dynamic compilation. You can change the code during a run, compile it, adjust the pc if needed, and continue debugging.