Which parts of the Visual Studio IDE are open source? - visual-studio

Which parts of the Visual Studio IDE (if any) are open source? Thanks!

Here are the components in Visual Studio that I am aware of which have some level of source accessibility.
MEF
Iron Languages
DLR
F#
CLR: subset of the CLR known as Rotor is open source
BCL, WinForms an WPF: source is available under the Source Reference License
Plugin's: Many of the Visual Studio employee plugins available on the Visual Studio gallery have source accessibility.
Note: I intentionally used "some level of source accessibility" instead of "open source". The term "open source" has a very specific meaning to certain portions of the developer population which does not align with the components I've listed here. In particular they deam it to mean source which is contributable by anyone. There is no part of Visual Studio today (that I'm aware of) which has that level of open source about it.

None of it, so far as I know.

AFAICT, none of it, though I can see where the confusion came frome.
Microsoft did give "Visual Studio Industry Partners" access to the Visual Studio source code. This falls under their umbrella of "shared source".
But their umbrella of "shared source" is really, really wide. Microsoft uses this term for a whole cornucopia of licenses that range from completely open-source to completely proprietary.
In this case, it doesn't look like the Visual Studio IDE is available under any of the open-source licenses.

Related

Can someone tell me the difference between visual studio and visual studio code? [duplicate]

Microsoft recently released Visual Studio Code and I am a little confused about its usage, since Visual Studio has lot of functional similarities with it.
Visual Studio (full version) is a "full-featured" and "convenient" development environment.
Visual Studio (free "Express" versions - only until 2017) are feature-centered and simplified versions of the full version. Feature-centered meaning that there are different versions (Visual Studio Web Developer, Visual Studio C#, etc.) depending on your goal.
Visual Studio (free Community edition - since 2015) is a simplified version of the full version and replaces the separated express editions used before 2015.
Visual Studio Code (VSCode) is a cross-platform (Linux, Mac OS, Windows) editor that can be extended with plugins to your needs.
For example, if you want to create an ASP.NET application using Visual Studio Code you need to perform several steps on your own to setup the project. There is a separate tutorial for each OS.
Visual Studio Code is an editor while Visual Studio is an IDE.
Visual Studio Code is cross-platform and fast, while Visual Studio is not fast.
Note that Visual Studio for Mac is available now but is a different product compared to Visual Studio (Windows). It's based on Xamarin Studio and lacks support for some older .NET project types. It does successfully build solutions created in Visual Studio 2017. Visual Studio for Mac has a more limited UI (for example, no customizable toolbar). So for cross-platform work, Visual Studio Code may still be preferable.
I will provide a detailed differences between Visual Studio and Visual Studio Code below.
If you really look at it the most obvious difference is that .NET has been split into two:
.NET Core (Mac, Linux, and Windows)
.NET Framework (Windows only)
All native user interface technologies (Windows Presentation Foundation, Windows Forms, etc.) are part of the framework, not the core.
The "Visual" in Visual Studio (from Visual Basic) was largely synonymous with visual UI (drag & drop WYSIWYG) design, so in that sense, Visual Studio Code is Visual Studio without the Visual!
The second most obvious difference is that Visual Studio tends to be oriented around projects & solutions.
Visual Studio Code:
It's a lightweight source code editor which can be used to view, edit, run, and debug source code for applications.
Simply it is Visual Studio without the Visual UI, majorly a superman’s text-editor.
It is mainly oriented around files, not projects.
It does not have any scaffolding support.
It is a competitor of Sublime Text or Atom on Electron.
It is based on the Electron framework, which is used to build cross platform desktop application using web technologies.
It does not have support for Microsoft's version control system; Team Foundation Server.
It has limited IntelliSense for Microsoft file types and similar features.
It is mainly used by developers on a Mac who deal with client-side technologies (HTML, JavaScript, and CSS).
Visual Studio:
As the name indicates, it is an IDE, and it contains all the features required for project development. Like code auto completion, debugger, database integration, server setup, configurations, and so on.
It is a complete solution mostly used by and for .NET related developers.
It includes everything from source control to bug tracker to deployment tools, etc. It has everything required to develop.
It is widely used on .NET related projects (though you can use it for other things). The community version is free, but if you want to make most of it then it is not free.
Visual Studio is aimed to be the world’s best IDE (integrated development environment), which provide full stack develop toolsets, including a powerful code completion component called IntelliSense, a debugger which can debug both source code and machine code, everything about ASP.NET development, and something about SQL development.
In the latest version of Visual Studio, you can develop cross-platform application without leaving the IDE. And Visual Studio takes more than 8 GB disk space (according to the components you select).
In brief, Visual Studio is an ultimate development environment, and it’s quite heavy.
Reference: https://www.quora.com/What-is-the-difference-between-Visual-Studio-and-Visual-Studio-Code
Visual Studio
IDE
Except for free editions, it is a paid IDE.
It is quite heavy on CPU and lags on lower end PCs.
It is mostly used for Windows software development including DirectX programs, Windows API, etc.
Advanced IntelliSense (best one ever; Visual Studio Code's IntelliSense extension takes second place)
It features built-in debuggers, easy-to-configure project settings (though developers tend to not use the GUI ones)
Microsoft support (more than Visual Studio Code)
Mostly used for C/C++ (Windows), .NET and C# projects along with SQL Server, database, etc.
Extreme large download size, space utilization and the slow downs over time.
It is the only con that forces me to use Visual Studio Code for smaller projects*
Includes tools to generate dependency graphs. Refactoring tools have great support for Visual Studio.
Has a VYSIWYG editor for VB.NET, C++.NET, and C#. (It is easy enough for first time users instead of getting through windows.h)
Visual Studio Code
Free open source text editor
Has IntelliSense (but it doesn't work out of box if Visual Studio is not installed, need to configure to point to MinGW, etc.)
Smaller download size and RAM requirements. With IntelliSense it requires around 300 MB RAM. (Edit : Some header files tend to blow up memory requirements to 7-8 GBs eg. OpenGL and GLM Libraries)
It works on lower-end PCs. (it is still slow to start up especially if PowerShell is used instead of CMD)
Lower support (open source, so you can modify it yourself)
Build tasks are project specific. Even if you want to build it in a vanilla configuration.
Mostly used for web development (this applies to all free text editors). They tend to show off JavaScript / HTML support over C/C++. Visual Studio shows off Visual Basic/C++ over other languages.
Lack of good extensions (it's still new though)
Gives you a hard time to reconfigure your project/workspace settings. I prefer the GUI way.
Cross platform
Has an integrated terminal (PowerShell is too slow at startup though)
It is best for smaller projects and test code (you know if you are bored and want to print "Hello, World!", it does not make sense to wait 3-5 minutes while Visual Studio loads up, and then another minute or 2 at project creation and then finally getting it to print "Hello, World!").
Complementing the previous answers, one big difference between both is that Visual Studio Code comes in a so called "portable" version that does not require full administrative permissions to run on Windows and can be placed in a removable drive for convenience.
For Unity3D users ...
VSCode is incredibly faster than VS. Files open instantly from Unity in VSCode. Whereas VS is extremely slow.
VS can literally compile code, build apps and so on, it's a huge IDE like Unity itself or XCode. VSCode is indeed "just" a full-featured text editor. VSCode is NOT a compiler: VSCode is literally "just a text editor".
With VSCode, you DO need to install in projects the "Visual Studio Code" package.
When you first download and install VSCode, simply open any C# file on your machine. It will instantly prompt you to install the needed C# package. This is harmless and easy.
Unfortunately VSCode generally has only one window! To open another window is a fuss.
In VS, it is all-but impossible to change the editor font, etc. In contrast, VSCode has FANTASTIC preferences - dead simple, never a problem.
As far as I can see, every single feature in VS which you use in Unity is present in VSCode. (So, code coloring, jump to definitions, it understands/autocompletes every single thing in Unity, it opens from Unity, double clicking something in the Unity console opens the file to that line, etc etc)
If you are used to VS. And you want to change to VSCode. It's always hard changing editors, they are so intimate, but it's pretty similar; you won't have a big heartache.
In short if you're a VS for Unity3D user,
and you're going to try VSCode...
VSCode is on the order of 19 trillion times faster in every way. It will blow your mind.
It does seem to have every feature.
Basically VS is the world's biggest IDE and application building system: VSCode is just an editor. (Indeed, that's exactly what you want with Unity, since Unity itself is the IDE.)
Don't forget to just click to install the relevant Unity package.
If I'm not mistaken, there is no reason whatsoever to use VS with Unity.
Unity is an IDE so you just need a text editor, and that is what VSCode is. VSCode is hugely better in both speed and preferences. The only possible problem - multiple-windows are a bit clunky in VSCode!
That horrible "double copy" problem in VS ... solved!
If you are using VS with Unity. There is an infuriating problem where often VS will try to open twice, that is you will end up with two or more copies of VS running. Nobody has ever been able to fix this or figure out what the hell causes it. Fortunately, this problem never happens with VSCode.
Installing VSCode on a Mac - unbelievably easy.
There are no installers, etc etc etc. On the download page, you download a zipped Mac app. Put it in the Applications folder and you're done.
Folding! (Mac/Windows keystrokes are different)
Bizarrely there's no menu entry / docu whatsoever for folding, but here are the keys:
https://stackoverflow.com/a/30077543/294884
Setting colors and so on in VSCode - the critical tips
Particularly for Mac users who may find the colors strange:
Priceless post #1:
https://stackoverflow.com/a/45640244/294884
Priceless post #2:
https://stackoverflow.com/a/63303503/294884
Meta files ...
To keep the "Explorer" list of files on the left tidy, in the Unity case:
As of 2021 I believe the main differences are:
Visual Studio Code is a completely new codebase (based on Electron) than the "old" Visual Studio, it is open source and is actively developed "in the open" (on github)
Visual Studio is more focused on "traditional" Windows GUI apps development, and it is battery-included for that, including WYSIWYG programming style of the GUI ("visual")
Visual Studio Code, while pretty "nude" on its own, had attracted lots of community development for extensions to do the most crazy things. Community developed extensions exist to use it as a base for an integrated development editor for almost any programming language (for example I use it for Julia)
Out of the box, Visual Studio can compile, run and debug programs.
Out of the box, Visual Studio Code can do practically nothing but open and edit text files. It can be extended to compile, run, and debug, but you will need to install other software. It's a PITA.
If you're looking for a Notepad replacement, Visual Studio Code is your man.
If you want to develop and debug code without fiddling for days with settings and installing stuff, then Visual Studio is your man.
One huge difference (for me) is that Visual Studio Code is one monitor only.
With Visual Studio you can use multi-screen setups.
Visual Studio Code is for more of a pure code development tool while VS2019/VS2017 etc. is for more of a non-coding approach for developing programs. In VS you while get button tools and window toolbar tools and all that fancy stuff. In VSC you have to code the whole thing from scratch. I recommend VSC for people who are just learning to code but VS for advanced devs.
Visual Studio Code is integrated with a command prompt / terminal, hence it will be handy when there is switching between IDE and terminal / command prompt required, for example: connecting to Linux.
For me, Visual Studio on Mac doesn't support Node.js (editing and debugging) whereas Visual Studio Code does this very well.
In short, VSCode heavily promotes (Microsoft's) TypeScript compiler, and bundles first-class support for the language, which makes the editor web-centric, while Visual Studio is primarily used for Microsoft's native, C-family, Windows/XBox stuff.
As VS Code has been heavily developed every month, A new answer is worth.
I'm an ASP.net developer in Visual Studio for ten years. When I see in the Stackoverflow survey (https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment) that VS Code is the the first IDE of choice, I decided to give it a try by using it as my main develop environment, and here's the result after one month:
I can say if only VS Code has an scalable and stable intellisense like VS has, I would keep it as my first choice of IDE for dotnet. Omnisharp (VS Code C# intellisense) is satisfying for small projects but as the workspace becomes bigger (for example when you have more than one projects in your workspace) the instability starts to becomes a problem.
I still use VS Code for small dotnet projects and also as a DB Client, powershell ISE, python, etc. because of it's lightness, feature richness, customizability and having such an alive community and develop team.
obviously the situation can change by whether VS Code getting a VS-level dotnet intellisense, or VS get more game-changing features.

Why does my visual studios window not look normal? [duplicate]

Microsoft recently released Visual Studio Code and I am a little confused about its usage, since Visual Studio has lot of functional similarities with it.
Visual Studio (full version) is a "full-featured" and "convenient" development environment.
Visual Studio (free "Express" versions - only until 2017) are feature-centered and simplified versions of the full version. Feature-centered meaning that there are different versions (Visual Studio Web Developer, Visual Studio C#, etc.) depending on your goal.
Visual Studio (free Community edition - since 2015) is a simplified version of the full version and replaces the separated express editions used before 2015.
Visual Studio Code (VSCode) is a cross-platform (Linux, Mac OS, Windows) editor that can be extended with plugins to your needs.
For example, if you want to create an ASP.NET application using Visual Studio Code you need to perform several steps on your own to setup the project. There is a separate tutorial for each OS.
Visual Studio Code is an editor while Visual Studio is an IDE.
Visual Studio Code is cross-platform and fast, while Visual Studio is not fast.
Note that Visual Studio for Mac is available now but is a different product compared to Visual Studio (Windows). It's based on Xamarin Studio and lacks support for some older .NET project types. It does successfully build solutions created in Visual Studio 2017. Visual Studio for Mac has a more limited UI (for example, no customizable toolbar). So for cross-platform work, Visual Studio Code may still be preferable.
I will provide a detailed differences between Visual Studio and Visual Studio Code below.
If you really look at it the most obvious difference is that .NET has been split into two:
.NET Core (Mac, Linux, and Windows)
.NET Framework (Windows only)
All native user interface technologies (Windows Presentation Foundation, Windows Forms, etc.) are part of the framework, not the core.
The "Visual" in Visual Studio (from Visual Basic) was largely synonymous with visual UI (drag & drop WYSIWYG) design, so in that sense, Visual Studio Code is Visual Studio without the Visual!
The second most obvious difference is that Visual Studio tends to be oriented around projects & solutions.
Visual Studio Code:
It's a lightweight source code editor which can be used to view, edit, run, and debug source code for applications.
Simply it is Visual Studio without the Visual UI, majorly a superman’s text-editor.
It is mainly oriented around files, not projects.
It does not have any scaffolding support.
It is a competitor of Sublime Text or Atom on Electron.
It is based on the Electron framework, which is used to build cross platform desktop application using web technologies.
It does not have support for Microsoft's version control system; Team Foundation Server.
It has limited IntelliSense for Microsoft file types and similar features.
It is mainly used by developers on a Mac who deal with client-side technologies (HTML, JavaScript, and CSS).
Visual Studio:
As the name indicates, it is an IDE, and it contains all the features required for project development. Like code auto completion, debugger, database integration, server setup, configurations, and so on.
It is a complete solution mostly used by and for .NET related developers.
It includes everything from source control to bug tracker to deployment tools, etc. It has everything required to develop.
It is widely used on .NET related projects (though you can use it for other things). The community version is free, but if you want to make most of it then it is not free.
Visual Studio is aimed to be the world’s best IDE (integrated development environment), which provide full stack develop toolsets, including a powerful code completion component called IntelliSense, a debugger which can debug both source code and machine code, everything about ASP.NET development, and something about SQL development.
In the latest version of Visual Studio, you can develop cross-platform application without leaving the IDE. And Visual Studio takes more than 8 GB disk space (according to the components you select).
In brief, Visual Studio is an ultimate development environment, and it’s quite heavy.
Reference: https://www.quora.com/What-is-the-difference-between-Visual-Studio-and-Visual-Studio-Code
Visual Studio
IDE
Except for free editions, it is a paid IDE.
It is quite heavy on CPU and lags on lower end PCs.
It is mostly used for Windows software development including DirectX programs, Windows API, etc.
Advanced IntelliSense (best one ever; Visual Studio Code's IntelliSense extension takes second place)
It features built-in debuggers, easy-to-configure project settings (though developers tend to not use the GUI ones)
Microsoft support (more than Visual Studio Code)
Mostly used for C/C++ (Windows), .NET and C# projects along with SQL Server, database, etc.
Extreme large download size, space utilization and the slow downs over time.
It is the only con that forces me to use Visual Studio Code for smaller projects*
Includes tools to generate dependency graphs. Refactoring tools have great support for Visual Studio.
Has a VYSIWYG editor for VB.NET, C++.NET, and C#. (It is easy enough for first time users instead of getting through windows.h)
Visual Studio Code
Free open source text editor
Has IntelliSense (but it doesn't work out of box if Visual Studio is not installed, need to configure to point to MinGW, etc.)
Smaller download size and RAM requirements. With IntelliSense it requires around 300 MB RAM. (Edit : Some header files tend to blow up memory requirements to 7-8 GBs eg. OpenGL and GLM Libraries)
It works on lower-end PCs. (it is still slow to start up especially if PowerShell is used instead of CMD)
Lower support (open source, so you can modify it yourself)
Build tasks are project specific. Even if you want to build it in a vanilla configuration.
Mostly used for web development (this applies to all free text editors). They tend to show off JavaScript / HTML support over C/C++. Visual Studio shows off Visual Basic/C++ over other languages.
Lack of good extensions (it's still new though)
Gives you a hard time to reconfigure your project/workspace settings. I prefer the GUI way.
Cross platform
Has an integrated terminal (PowerShell is too slow at startup though)
It is best for smaller projects and test code (you know if you are bored and want to print "Hello, World!", it does not make sense to wait 3-5 minutes while Visual Studio loads up, and then another minute or 2 at project creation and then finally getting it to print "Hello, World!").
Complementing the previous answers, one big difference between both is that Visual Studio Code comes in a so called "portable" version that does not require full administrative permissions to run on Windows and can be placed in a removable drive for convenience.
For Unity3D users ...
VSCode is incredibly faster than VS. Files open instantly from Unity in VSCode. Whereas VS is extremely slow.
VS can literally compile code, build apps and so on, it's a huge IDE like Unity itself or XCode. VSCode is indeed "just" a full-featured text editor. VSCode is NOT a compiler: VSCode is literally "just a text editor".
With VSCode, you DO need to install in projects the "Visual Studio Code" package.
When you first download and install VSCode, simply open any C# file on your machine. It will instantly prompt you to install the needed C# package. This is harmless and easy.
Unfortunately VSCode generally has only one window! To open another window is a fuss.
In VS, it is all-but impossible to change the editor font, etc. In contrast, VSCode has FANTASTIC preferences - dead simple, never a problem.
As far as I can see, every single feature in VS which you use in Unity is present in VSCode. (So, code coloring, jump to definitions, it understands/autocompletes every single thing in Unity, it opens from Unity, double clicking something in the Unity console opens the file to that line, etc etc)
If you are used to VS. And you want to change to VSCode. It's always hard changing editors, they are so intimate, but it's pretty similar; you won't have a big heartache.
In short if you're a VS for Unity3D user,
and you're going to try VSCode...
VSCode is on the order of 19 trillion times faster in every way. It will blow your mind.
It does seem to have every feature.
Basically VS is the world's biggest IDE and application building system: VSCode is just an editor. (Indeed, that's exactly what you want with Unity, since Unity itself is the IDE.)
Don't forget to just click to install the relevant Unity package.
If I'm not mistaken, there is no reason whatsoever to use VS with Unity.
Unity is an IDE so you just need a text editor, and that is what VSCode is. VSCode is hugely better in both speed and preferences. The only possible problem - multiple-windows are a bit clunky in VSCode!
That horrible "double copy" problem in VS ... solved!
If you are using VS with Unity. There is an infuriating problem where often VS will try to open twice, that is you will end up with two or more copies of VS running. Nobody has ever been able to fix this or figure out what the hell causes it. Fortunately, this problem never happens with VSCode.
Installing VSCode on a Mac - unbelievably easy.
There are no installers, etc etc etc. On the download page, you download a zipped Mac app. Put it in the Applications folder and you're done.
Folding! (Mac/Windows keystrokes are different)
Bizarrely there's no menu entry / docu whatsoever for folding, but here are the keys:
https://stackoverflow.com/a/30077543/294884
Setting colors and so on in VSCode - the critical tips
Particularly for Mac users who may find the colors strange:
Priceless post #1:
https://stackoverflow.com/a/45640244/294884
Priceless post #2:
https://stackoverflow.com/a/63303503/294884
Meta files ...
To keep the "Explorer" list of files on the left tidy, in the Unity case:
As of 2021 I believe the main differences are:
Visual Studio Code is a completely new codebase (based on Electron) than the "old" Visual Studio, it is open source and is actively developed "in the open" (on github)
Visual Studio is more focused on "traditional" Windows GUI apps development, and it is battery-included for that, including WYSIWYG programming style of the GUI ("visual")
Visual Studio Code, while pretty "nude" on its own, had attracted lots of community development for extensions to do the most crazy things. Community developed extensions exist to use it as a base for an integrated development editor for almost any programming language (for example I use it for Julia)
Out of the box, Visual Studio can compile, run and debug programs.
Out of the box, Visual Studio Code can do practically nothing but open and edit text files. It can be extended to compile, run, and debug, but you will need to install other software. It's a PITA.
If you're looking for a Notepad replacement, Visual Studio Code is your man.
If you want to develop and debug code without fiddling for days with settings and installing stuff, then Visual Studio is your man.
One huge difference (for me) is that Visual Studio Code is one monitor only.
With Visual Studio you can use multi-screen setups.
Visual Studio Code is for more of a pure code development tool while VS2019/VS2017 etc. is for more of a non-coding approach for developing programs. In VS you while get button tools and window toolbar tools and all that fancy stuff. In VSC you have to code the whole thing from scratch. I recommend VSC for people who are just learning to code but VS for advanced devs.
Visual Studio Code is integrated with a command prompt / terminal, hence it will be handy when there is switching between IDE and terminal / command prompt required, for example: connecting to Linux.
For me, Visual Studio on Mac doesn't support Node.js (editing and debugging) whereas Visual Studio Code does this very well.
In short, VSCode heavily promotes (Microsoft's) TypeScript compiler, and bundles first-class support for the language, which makes the editor web-centric, while Visual Studio is primarily used for Microsoft's native, C-family, Windows/XBox stuff.
As VS Code has been heavily developed every month, A new answer is worth.
I'm an ASP.net developer in Visual Studio for ten years. When I see in the Stackoverflow survey (https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment) that VS Code is the the first IDE of choice, I decided to give it a try by using it as my main develop environment, and here's the result after one month:
I can say if only VS Code has an scalable and stable intellisense like VS has, I would keep it as my first choice of IDE for dotnet. Omnisharp (VS Code C# intellisense) is satisfying for small projects but as the workspace becomes bigger (for example when you have more than one projects in your workspace) the instability starts to becomes a problem.
I still use VS Code for small dotnet projects and also as a DB Client, powershell ISE, python, etc. because of it's lightness, feature richness, customizability and having such an alive community and develop team.
obviously the situation can change by whether VS Code getting a VS-level dotnet intellisense, or VS get more game-changing features.

Visual Studio Add-in: How to get selected items in window

Let a "Breakpoints" window (by default opened by Debug>Windows>Breakpoints [ctrl+B, D]) serve as an example. Basically I select few breakpoints in it and I would like to know in my add-in which elements in this window are selected. I am aware that I can get collection of breakpoints in project but I would like to know what elements are selected in "Breakpoints" window.
"Is it possible to get selected items in window or even access its content at all?"
Also I am not sure whenever or not should I post a separate question for this but is there actually a way to capture user activity in IDE like for example capturing an event when user sets (adds) a breakpoint?
Originally I also asked if is it possible to achieve certain things in Visual Studio Express Edition. But this part is irrevelant.
Conclusion:
(after reading jessehouwing's answer)
I guess it is not possible using an Add-ins. Use VSPackages isntead. Also Add-ins are deprecated as of Visual Studio 2013 version.
As mentioned in my comments, what you're trying to accomplish is explicitly prohibited in the Visual Studio Express edition and is a violation of it's license. To extend the product, you need to have at least Visual Studio Professional Edition. many of the extensibility points will actively refuse any communication with 3rd party add-ins.
Almost all the things you're asking are possible using Visual Studio Extensibility once you've installed the professional edition. Products like OzCode show that almost everything is possible. Remember that most features inside visual studio are themselves extensions of the product.
Your question, indeed a whole list of questions, is indeed not the way to ask something on StackOverflow. I can give you some pointers to the documentation, which you've probably already found, and maybe to some open source products that themselves extend parts of Visual Studio that can serve as examples, but from there you'll have to piece something together until you're able to ask more specific questions.
Events you can subscribe to, the breakpoints are a CommandEvents I suspect.
Manipulating windows inside Visual Studio
Projects that extend the debugger that might serve as an example:
PyTools (debugger for Python inside Visual Studio)
Node.js tools for Visual studio (extending the Immediate Window)
But there is no easy answer to your question that fits inside this window. I'd suggest you use a tool like Reflector to look at how Microsoft accomplishes certain things (most of Visual Studio Extensibility is written in .NET anyways) and to look at open source projects that extend visual studio behavior. There are quite a few out there on Codeplex.
I'm not entirely sure what you're trying to accomplish and how it's different from the Breakpoints features inside Visual Studio Professional and up.
I suggest you ask your question in the Visual Studio Extensibility forums over on MSDN, which is in a collaborative forum format, instead of a Q&A format, allowing people to answer your question bit by bit.

Visual Studio Find All Not Referenced

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.

No IntelliSense for C++/CLI in Visual Studio 2010?

I just moved from Visual Studio 2008 to Visual Studio 2010 (final) and noticed one major flaw:
When I try to use AutoComplete in a C++ source file for managed C++, a small note in the footer appears:
IntelliSense for C++/CLI is not available
Uh, has IntelliSense for C++/CLI been dropped from Visual Studio 2010? Is there any way to get this back? It is rather useful...
You are correct. Unfortunately it has been dropped. You can check this opened issue on Microsoft's Connect website.
I'll just quote them for the sake of the answer:
Unfortunately in this release we had to cut the intellisense support for C++/CLI due to time constraints. If you want to get some intellisense like quick info and memberlist on the native classes you can get it by choosing no /clr support in the project properties.
About getting back intellisense, your best chances for now are using third-party tools like VA Assist for example. I've tried it with Visual Studio 2008 and its IntelliSense is a whole lot better than the default one.
It is available again in Visual Studio 2012.
If you want to get IntelliSense back, install Visual Assist X from Whole Tomato Software. Here you can get a 30-days trial to check the intellisense.
According to the Visual C++ Team Blog, C++/CLI Intellisense will be in the next version of Visual Studio, but not in a service pack for VS2010. That blog post also gives some detail as to what went wrong and led to this sad state.
I don't know if you can use this settings but it work for me. I only check the Common Language RunTime Support for the cpp files that use it. I do not check it for the whole project and I've got intellisense for all the files that don't use the CLI.
Yes! you can enable the IntelliSence, but in a tricky way. Follow these instructions:
Go to your project properties. (Right click on your project name in
Project Explorer, and select Properties. or simply Alt + Enter)
From Configuration Properties, select General
In the right-hand section, find "Common Language Runtime Support"
and change it to "No Common Language Runtime Support".
Click the OK Button.
Now the IntelliSence is working. But a problem is an error when you compile your code! (The error is: error LNK1123: failure during conversion to COFF: file invalid or corrupt)
You can simply go back to Project Properties an change Common Language Runtime Support to "Common Language Runtime Support, Old Syntax (/clr:oldSyntax)".
Good luck.
This solution is only if you don't want Common Language Runtime
It worked for me in VS2010
Go to Project Propreties > Configuration Properties > General > Common Language Runtime Support and set it to No Common Language Runtime Support.
This will work fine just after hitting Apply button.
As mentioned you could install some paid software such as "Visual Assist X from Whole Tomato Software".
or
You could use open source tools that contain intellisense*, one such tool is Qt Creator 3.3.1 (opensource). You have two options, either setup your entire project with Qt to compile using VS2010 compiler, or use Qt to link to your source files and compile with VS2010. You write your code in Qt, save, flip windows to vs2010 and compile and debug.
When changes are saved in Qt, vs2010 will automatically reload the source file in the project and you can compile.

Resources