Hacker News new | ask | show | jobs
by pjmlp 4582 days ago
Those three projects don't have the upper management Microsoft enjoys to dictate where developers spend their work hours.

Similar to the functionality all Java IDEs have out of the box, but in Visual Studio you need Visual Assist or ReSharper.

2 comments

C++ is also maybe an order of magnitude harder to parse.
Of course it is, however my complaint was targeted to all supported Visual Studio languages.

My employer won't pay for the listed plugins, given what is already being paid for MSDN subscriptions.

Which functionalities are you referring to?
Refactoring and code navigation.
Er, you avoided my question.

What kind of refactoring? What do you mean by code navigation?

If you have to ask like that, then you never used such features.

Refactoring:

- Semantic renaming of any identifier consistently across the whole source code

- Transform code blocks into methods, functions

- Move code blocks across modules, classes

- Generate accessors, setters for a given instance, class variable

- Change type of a given variable consistently across all the places it is used

- ...

Code Navigation:

- Show call stack for every use of a certain method/function

- Show all descendents of a given class, interface across the code base

- Show all ascendents of a given class, interface across the code base

- Show which classes, interfaces introduce, redefine a certain method

- Show which binary provides the implementation of a given class, function

- ...

No, I was asking because you said Java IDEs have this feature but VS doesn't. Yet Visual C# out of the box has support for rename, method extraction, reorder parameters, field encapsulation, finding the usage of an identifier across the code base, generating a class graph, etc...

Where exactly is Visaul Studio lacking here compared to your Java IDEs? Or are you comparing apples and oranges -- C++ to Java?

> No, I was asking because you said Java IDEs have this feature but VS doesn't. Yet Visual C# out of the box has support for rename, method extraction, reorder parameters, field encapsulation, finding the usage of an identifier across the code base, generating a class graph, etc...

No it does not.

The amount of refactoring support out of the box differs for each Visual Studio version (professional, premium, ultimate, ...).

Plus if I were to produce a comparison table, there quite a few refactorings from Java world that don't exit in Visual Studio out of the box.

As a small example, finding the usage of identifiers only provides partial information of what Java IDEs are able to. Which can search for different ways the identifier is being used, being called, as a method, being assigned to, etc.

As for plain C++, KDevelop, Eclipse CDT, Netbeans and QtCreator all provide much more refactoring support than Visual C++ ever did.

I do like Visual Studio and use it since the first 32 bits only version, Visual C++ 2.0. But I am also aware of its defects.

He didn't really avoid your question. I parsed your question the same way.