title: Common Lisp IDE for C# Developer?
body: <p><strong>UPDATE</strong> </p>
  
  <p>I've decided to go with Clojure for now.  </p>
  
  <p>LispDev isn't ready, and Eclipse/cusp wasn't stable enough for me to feel comfortable.</p>
  
  <p>As for Clojure, after a long, very frustrating, very annoying process trying to get Eclipse/CCW, Netbeans/Enclojure and IntelliJ/La Clojure working, I <em>finally</em> got Eclipse/CCW working.  The rest are still in mostly-broken states.  </p>
  
  <p>(If I get around to it, I'll document what it took for <em>me</em> to get Eclipse/CCW working.)</p>
  
  <p>So for now, I'm going to use that.  I may dip back into CL, and check out LispWorks and AllegroLisp's free versions, but Clojure feels like a more natural step for me from working within the Microsoft CLR environment.</p>
  
  <p>Thanks everyone for the help.</p>
  
  <hr>
  
  <p><strong>Original Question</strong></p>
  
  <p>I'm a C# developer very familiar with Visual Studio (with Resharper).</p>
  
  <p>I'm new to Lisps.  I've taken an interest in both Common Lisp and Clojure recently, and found plenty of good material on both of them.</p>
  
  <p>I've tried Emacs + Slime, but it feels like a very backwards, dated solution.  I have no doubts about its power, but it's usability is nothing like what I'm used to.  I don't want to struggle with an IDE in addition to the language.</p>
  
  <p>There are Eclipse plugins for both Clojure and CL.  There's also a couple more options I've seen for Clojure.  Since I'm not a Java dev, I know nothing about these IDEs.</p>
  
  <p>Is Eclipse a good place to start?  Are there other good options?</p>
  
  <p>EDIT: </p>
  
  <p>Here's the features I'm used to:</p>
  
  <ul>
  <li>Syntax highlighting and autoindentation (everyone has this, so it's a moot point)</li>
  <li>Autocomplete of functions and variable names</li>
  <li>Realtime displays of all function overloads and parameters and the ability to arrow up/down through the list while typing in parameters</li>
  <li>Syntax suggestions for code improvement, with the ability to do them for you ("use a const", "convert to LINQ expression (FP)", "variable will never be assigned to", "variable will never be used", "variable could be null", "function will never be used", etc.)</li>
  <li>Extract Method/Function refactoring: select a block of text, and it can be extracted into a new function</li>
  <li>Create Variable Refactoring: select a block of text and create a variable (e.g., a let)</li>
  <li>Rename Refactoring: rename a function or variable declaration and all other functions using it will be updated (automated search/replace)</li>
  <li>Go to Definition of a method/function, variable</li>
  <li>Find Usages/References to a particular method/function, variable</li>
  <li>Integrated folder-based project management tools and build tools</li>
  <li>"Move class to new file" which creates a new file based on the class name, and containing all of its methods</li>
  <li>"Rename file based on class type" which renames the file if you change the class name</li>
  <li>F9/Click to the left of the line to add/remove breakpoints</li>
  <li>F10/F11 to step into or over code when debugging, along with an arrow and highlighting to show which code is currently executing (step into a func execution, or just execute it here)</li>
  </ul>
  
  <p>Most everything is available in a right-click context menu, or as a hovering combobox or textbox as you're typing.</p>
  
  <p>I'm not saying emacs/slime can't do that, but if it does, it doesn't use anything similar in terms of usability techniques.</p>