On Sep 5, 2008, at 11:29 AM, Mark wrote:

> I just use regular vim with syntax highlighting. Could you guys  
> please name
> some reasons of why eclipse is nice to work with, and if I can still  
> use
> the 'vim' way of editing?


I can't give you a firm answer for  vim. There seem to be many vi- 
eclipse
integration projects, but I've never used any of them.*

Here are some of the reasons to use eclipse (or another full
featured IDE such as Wing.**)

Navigational tools.  Using eclipse is a lot like using a web browser  
for your code
base.  One of the big things that distinguish It gives you things such  
as:

   Go to function definition: Hit one key, and it takes you to where a  
function
   is defined.  This works across all files your project imports.
   Move back and forth between your last edit points.
   Move back and forth between the past points your cursor was  
positioned at.
   Browsers based on the structure of your code.
   Search by regex across all files in your project.


While you type the incremental code evaluation warns you of things  
such as:

    Unused variables
    Spelling errors
    Unused imports
    Un-imported modules
    It can be told to turn off individual warnings on an ad-hoc basis.


Typing assistants:

   Error correction:

       Common errors and warnings can be fixed by pressing a single  
key.  For
       example, it will manage your import list for you.  For example,  
I type the line
       "StringIO.StringIO('foo')".  It highlights StringIO in red.  I  
type cmd-1, it pops up
       a list of possible fixes.  The first one is 'import StringIO'.   
I type return, and it
       adds the line 'import StringIO' to the list of imports at the  
top of the file.

   Auto-completion:

     It identifies which method(s) you are typing.  Hitting a key  
tells it to auto-complete.
     It then steps you through each argument.  If you name your  
argument and variables
     well then you can often just accept the entire statement.

   Macros and boiler plate:

     You can define macro expansions.  Type the name inline, hit a  
key, and it expands
     them, giving you a chance to fill in the blanks.


SCM Integration

Awesome graphical debugger:
   Remote debugging of Python programs running on different machines.
   The debugger understands threads.


Integrated unit test runner.  You can click on lines in the stack  
trace and it opens
an editor at that point.


Refactorings such as intelligent renaming, method extraction, and  
variable
inlining.


Mylyn:

    Hard to describe.  It allows you to associate groups of files,  
classes, and
    methods witch jobs.  You can restrict pretty much any view to just  
the files you
    working on.   Need to switch back to working on this mornings bug  
for a bit?  Just
    select the job for the bug.  All your current editor panes close,  
and all of the editors
    associated with the bug open.  These jobs can be directly  
associated with tickets
    in your defect tracking system such as bugzilla.


Summary:

Eclipse is an environment for working on programs, and not  
specifically text.  If you
try to compare it on an apples-to-apples basis then it will often come  
up wanting.

Text editors have lots of features for working with the contents of a  
files, but they
don't understand the relationship between files, and they don't  
understand the
semantics of programs.  (Not the syntax, but the semantics.)

While working with one or two files text editors seem far superior,  
but once
you start working on gnarly code bases with many tens of files, the  
navigational
and semantically based tools within a modern IDE really start to pay  
off.

Imagine renaming one method in forty places within twenty different  
files, most
of which you haven't written.  That's only three or four keystrokes in  
eclipse/pydev.
You make the change, save the files, and then eclipse runs all your  
unit tests
automatically.

-jeff


* Historically I'm mostly an emacs user, but I appreciate the  
strengths and weakness
   of vi, emacs, and eclipse.  I'm currently jumping between all  
three.  Eclipse to browse
   the Bugzilla source, vi to make quick change one-or-two line  
changes in database
   migration scripts, and emacs to make larger multi-line changes on a  
non-local
   headless machine.



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to