Visual Studio Find All Not Referenced - visual-studio

In Visual Studio is there an automatic way to search over file(s) and find all classes/properties/methods that aren't referenced. Essentially abandoned code.
I don't want to manually have to right click on each and select "Find All References"

This is not a feature of Visual Studio in the current version. Using Roslyn you could code and Inspector yourself, but Roslyn doesn't offer one out of the box either at the moment. The walk-through on Semantic analysis should get you started. The roslyn forum is a good place to seek help or find examples, and there's a well monitored tag on StackOverflow as well of course.
Productivity plugins like Resharper and Code Rush offer this for sure. There are other similar tools that might have this feature JustCode, VisualAssist, CodeItRight are likely candidates.
You can also use something like Visual NDepend to detect unused methods. Their new command Linq to Code features should make it relatively easy to build a commandline tool that fishes out all unused calls.

A bit late but if you install SSDT (Sql Server Data Tools) this also add grayed reference count to each method in visual studio.
Note: This is actually "code lens" which is no longer available for VS2015. Installing the SSDT is the way you can have "code lens" in VS2015.

Related

How to turn ON visual studio debugger inline watch in vs 2015?

I saw some developer have visual studio inline watch without using any third party plugin. I searched in settings to turn this ON but I can not understand what option will allow me this.
I can get this feature using Entrain Inline watch but this is a paid software and I know the visual studio has a built-in feature for this. Can you let me know how can I turn this on?
See the screenshot, I can see the variable values in line using entrain third-party plugin but I want to use the visual studio's built-in option
For future referrence, I would like to share one tool that I have found useful, that is Entrian Inline Watch visual studio extension, very useful.
I'm afraid the answer is negative.
For now, Visual Studio2015 doesn't support for watching inline values in debug mode.Please check this document,it describes several ways to watch values in debug mode without using third-party plugin.
I saw some developer have visual studio inline watch without using any
third party plugin.
As I know, VS2015 doesn't have this option. But VS Code seems to support this feature now. I'm not sure if the developer you mentioned has some extension like Resharper or what. It also provides this feature like Entrain Inline watch.
If you have a requirement to achieve this feature in VS2015, I suggest you post your suggestion on DC by Help=>Send feedback=>Provide a Suggestion, if it gets enough votes, the product team would consider it.

Do I need ReSharper for Visual Studio 2015/2017

I saw a lot of good comments about ReSharper. So I gave it a try and I really like it. I even suggested to my team to use it and to put some money in this tool. But they sad "We better put the money in updating Visual Studio because newer versions come with almost all ReSharper features" as we are using Visual Studio 2010.
Is ReSharper useless in Visual Studio 2015 or 2017?
This might not be an answer, just my own opinion.
VS2017 is doing very well without R#. however, some important functions are still not there in VS2017, e.g. renaming namespaces, and here R# role arises.
Some where else, I find R# make the things bad, for example, I don't like how the R# renames the properties, it gives and new popup window, where VS2017 renames it immediately.
So what I mean, sometimes R# might be useful, but if you are not using it, you are absolutely safe and productive.
I am still waiting for any video or article where it is described, what are the flagship killers functions in R# which VS2017 doesn't have (except renaming namespaces ;)).
UPDATE:
What I actually suggest is, install use the refactoring suggestions of R# because they are awesome, but keep the default key mapping of VS2017.**
UPEATE 2:
I have been working for 1 year without resharper, and I am very ok and do not miss any function, except renaming namespaces.
UPDATE 3:
I miss the function of extracting a method to an existing interface in Visual Studio 2017, which already exists in ReSharper.
ReSharper is not useless in newer versions of Visual Studio, but there are a lot of features and shortcuts that come baked right into VS. My opinion would be that if you are new to developing in VS, look into the features it already has and make the best use of them. After all, what good is a Porsche if you cant drive? Here are a couple of links you should check out.
https://msdn.microsoft.com/en-us/library/da5kh0wa.aspx
https://msdn.microsoft.com/en-us/library/ms366750(v=vs.90).aspx

How to extend CodeLens

I'm currently writing a tool to help maintain unit and integration tests (coded tests). I've started extending Visual Studio to make the developer experience nicer, which got me to notice the new-ish CodeLens feature.
The stuff I'm currently showing as a tooltip should probably actually be part of the CodeLens info.
Question: Does anyone know how to extend CodeLens in Visual Studio?
Thanks.
As #RichardBanks says, officially CodeLens is not extensible. Technically I think it may be possible at the moment. Look for *CodeSense*.dll in the visual studio directory for hints. There is no documentation at present and the API can still change going forward.
I suggest you'd venture into this for research purpose only, distributing any 'plugin' seems like a very bad idea until Microsoft opens up the API, which they probably will.
CodeLens is officially extensible since Visual Studio 2019 was released.
CodeLens for Everyone
CodeLens has been a feature found only in Visual Studio Enterprise, but that will change in an upcoming preview of Visual Studio 2019, when it will also be available for the Community edition, likely in 2019. CodeLens shows the number of references a type or method has, information about unit tests covering the method, and data directly from Application Insights.
In addition, Microsoft has made CodeLens fully extensible1, so third-party extensions can start to add their own experiences on top of it. CodeLens makes key information about your types easy to find, while keeping you in the source code. Lenses for source control history and IntelliTrace are still an Enterprise-only feature.
Looks like this is the best place to start looking at when implementing your own CodeLens extension.
1. Highlight mine.
Code Lens is not currently extensible.
I can't say for sure, but I think there are still some features the team wants to add before they open it up for extension (e.g. git support).

Can I disable all compilation in Visual Studio?

This is a new one for me. I have been asked, for legal reasons, to setup a laptop with Visual Studio, but to disable the ability to compile projects/solutions. The purpose is to enable browsing of the source code, but not allow building or executing it.
Yes, I know this is really a stupid question and unfortunately I can't get into too many details. I've asked about using alternative text editors, but I have been told no. So until I can prove it isn't possible (or that I have at least made a reasonable effort), I have to try and make this work. Notepad++ would be an excellent alternative, but that has been rejected.
This would be in Visual Studio 2010 or later. Is there any way that I can do this?
UPDATE
After trying Marius Bancila's suggestion of removing the compilers and MSBuild, I was surprised to find out that VS continued to work fine (except for building, of course). I did not expect that functionality like F12 (Go To Definition) would continue to work.
This may mean that there still remains the ability to build something somewhere somehow. But as it stands with MSBuild permanently deleted and the Visual Studio Build command not working, it'll take some effort to get around it (if a way in fact does exist).
You didn't say what projects should not be possible to build (VC++, VC#, VB.NET, F#, etc.). Starting with VS2010 they are all built using MSBuild. So if you delete MSBuild they will not be able to build from inside Visual Studio. However, one can still be able to build from the command line, so the only possibility I see is that you delete all the compilers that come with Visual Studio.
It's a little bit crazy, but if you really have to ...
Try deleting some important binaries after installing Visual Studio e.g. linker (link.exe) and compiler (cl.exe).
Use a text editor instead. Notepad++ even comes with color syntax highlighting.
You cannot prevent people from compiling the code. Visual Studio Express is available to anyone, and the compiler can be executed from the command line, without Visual Studio's help.

Disabling Team Foundation Server extensions in VS2010

We're using Visual Studio 2010 (Premium edition if it matters), and pretty happy with it. However, We're never going to use the TFS features that's included in the IDE. (We're using Jira and Subversion, as it's not just Visual Studio that we work with, but also IntelliJ and a couple other IDE's.)
Is there any way to disable the TFS portions of the IDE? It's not a big deal or anything, just for the sake of "keeping things neat."
In Visual Studio 2010, go to Tools->Options In the list, select Source Control. Set your Current source control plug-in: to None
The main "TFS" parts of the IDE are in Team Explorer - Just don't install it.
Anything else you don't want/use, I'd advise you to simply ignore - VS has support for hundreds or even thousands of different things that you will probably never use, and you can't easily "clean" them all away.
In my experience the more you alter your installation of Visual Studio the more problems you will have with it. Every custom Option you set is another thing you have to repeatedly set every time you get a new PC or install a new VS. (Although it has improved a lot since import/export options became available and reliable). I used to spend about half a day setting up a visual studio to "work well", and now I just install it and use it. Ultimately I found that it was easier to just adjust my working practices (e.g. by relearning a few keyboard shortcuts etc) than to try to bend VS to my will.

Resources