On Wednesday, 5 September 2018 at 17:34:17 UTC, ShadoLight wrote:
On Wednesday, 5 September 2018 at 13:11:18 UTC, Jonathan M
Davis wrote:
It anyway appears that Vim/Emacs are often extended by plugins,
and this will be the only way to have some project manage
features.
I'm an Emacs user. I have never needed project management
features. If I want to edit a new file, I do that.
You might be confusing "project management" with a build system.
I'm not sure, but then I just use a build system such as CMake.
I maintain that it is not practical trying to duplicate this in
your editor of choice except if the amount of time you will
save (from increased productivity) exceed the time taken to do
this. I maintain that for bug fixing/support in a big
organization this will hardly ever be the case.
True, but why would anyone want to duplicate it? The only reason
I can think of is if the team is using Visual Studio and the .sln
file is the agreed-upon build system. I know this happens in real
life, but it shouldn't. And even then... open VS, add a file, go
back to editing in Emacs/vim/whathaveyou. Or edit the XML
directly.
But even if you avoid this step and can build/run/test from the
command-line it may not be optimal in certain debugging
scenarios. See next point.
You don't have to build/run/test from the command-line, you can
do it in-editor.
Right, but depending on your type of debugging there is some
things which just make more sense to do from right inside the
debugger. If you hit a data value break-point or such on an
attached debugger you can just double-click the line in the
stack trace to go to the appropriate line in the IDE editor. No
need to switch tasks to Vim/Emacs, do a go-to or whatever to
get to the same place. The type of debugging I'm talking about
is not your 'single step' variety.
No need to switch tasks to Emacs either, just run the debugger in
Emacs and you can double-click if you want to. Although, if
you're an Emacs user you're probably not going to want to use the
mouse.
I sometimes wonder if the Vim/Emacs 'affectionados' spend so
much time mastering their editors (which by all accounts have a
steep learning curve), that they forgot that IDE development
did not stagnate after they left!
It's not a question of forgetting what IDEs can do. It's a
question of either not needing those features or having them in
the editor. I've used Visual Studio, Eclipse, IDEA, etc. I just
don't like them.
This is what I need from an IDE: autocompletion, go to
definition, on-the-fly syntax checking. I have all of that in
Emacs.
Again, it depends on what you mean by 'editing'.
I think he means... editing. Cutting, pasting, replacing, that
kind of thing.
If you are referring to coding where you are developing from
scratch, then sure - I agree.
That's not editing, that's writing. In that case, notepad is
enough, or cat. There's a reason why vim's normal mode is about
editing, not writing (inserting).
But the whole point of my post was to point out that this is
not the only use-case for some of us. And in some of these
other use-cases IDEs are actually superior to editors.
That's your opinion, you're entitled to it and I'm not going to
try and change your mind. Mine is that no IDE gets close to the
power of a good editor. In your favourite IDE, can you set up any
key combination you want to:
1. Jump to the end of the current line
2. Check to see if there's a semicolon there
3. If not, add one
4. Open a new line beneath
No? I don't learn how to use Emacs, Emacs learns *me*.
And that was just a simple example.
For another example IDEs are also in some ways a 'standard'
inside big organizations in a way that any editor cannot be -
the lowest barrier of entry to get new members up to speed in a
team. And for some languages (Java/C#) you give up a lot by not
developing inside an IDE. In fact, for Java and C#, the
appeal/power of the languages is in many ways directly related
to the IDE! Now throw in mixing C# with C++ (or even D)
development... I'm sure you get my drift!
Most of what I'd need an IDE for in Java (I'd probably use IDEA
if I were to write Java) I don't need for D.