VS2014 Roslyn Diagnostic - roslyn

I have created a Roslyn code diagnostic in VS2014.
It already split to Common, CSharp, VB.net diagnostics.
I would like to back port it to make it compatible with the VS2013 Roslyn CTP.
Want to avoid having to reimplement it in to using the VS2013 Roslyn CTP.
What can be shared be the two version?
What has to be different?

A number of APIs have changed between Visual Studio "14" and the VS2013 CTP, and we have another set of changes (hopefully the last) coming down the pipe right now. Honestly, I can't recommend anything better than simply trying to rebuild the source you have, seeing what doesn't build, and then fixing it up. You might simply have to maintain two codebases.

Related

Problems that might be faced in rebuilding earlier MSVC version built code to newer version

Would like to ask a general question.
Would be trying to scope the difficulties and effort require to build a code (which was earlier build in MSVC 2005) in MSVC 2010.
I am not using any MFC, just using plain C++?
What would be the problems that I might face? Would appreciate any help to also highlight considerations that I should look into
Tthanks
Microsoft keeps a list of breaking changes to the compiler on each major release, you can find that list here http://msdn.microsoft.com/en-us/library/bb531344(v=vs.100).aspx. If you are going from 2005 to 2010 then you will want to look at both 2008 and 2010 changes.

Using different compiler in Visual Studio

This maybe a beginner question but could not find proper answer on the internet.
I am curious can I use some other compiler (which I like) in Visual Studio 10?
As of Visual Studio 2010, it is conceptually possible to integrate another compiler. In the book ‘Inside the Microsoft Build Engine, Using MSBuild and Team Foundation Buid’ 2nd edition, on page 338, the chapter ‘Adding a New Platform and Platform Toolset’ the process of adding gcc to visual studio is explained.
However, while it is possible, it has always remained as a concept. To my awareness, nobody has actually been up to the task and publicly disclosed the results. But even with this support, you'd still be lacking debugging facilities. Which would require your compiler of choice to generate .pdb files and/or extend visual studio with a new local debugger
In summary it's quite a venture
You can use other compiler Intel c++ in VS. I don't think any other compiler supports VS.The main reason behind it is lack of plug-ins in VS. But you can use cmake scripts to compile your code in different compilers. With eclipse you can use most of the compilers (VS,gcc). Code blocks also allows you to choose the compilers.
Yes,you can use Intel C++,and even MATLAB 7.1 or later for sure..here is a reference to use MATLABIt gives a step by step procedure to use MATLAB with VS
You can also write Java programs and include javac compiler for it...you can refer this if needed..Including javac with VS
I kno this is surely possible from VS 2010 but not sure for the b4 editions..hope it helps..

Visual Studio Debugger displays wrong values for native types

I am writing a program in managed C++ and native C++ using Visual Studio 2008 (Version 9.0.30729.1 SP) and .NET 3.5.
When debugging, Visual Studio displays obviously wrong values for types like size_t and pointers that are native.
Using messageboxes, I can verify that the actual values are correct though.
Is there a way to fix this behaviour?
Here is a screenshot to clarify what I mean:
It seems that switching the Common Language Runtime Support under Configuration Properties from Pure MSIL Common Language Runtime Support (/clr:pure) to Common Language Runtime Support (
/clr) did the trick. I can now view native objects just fine.
Try installing KB957912 (Updates for Visual Studio 2008 SP1 debugging and breakpoints), it may help you.
I don't know what's the type of g_pGame, but it is possible to write extensions for Visual Studio so you can view the values of your custom types. Although that feature is mainly targeted for other use, like you have your own String container and you know it's internal details and you want to simply see the string value in it. So normally it is not for working around misbehavior. Also, writing such extension needs effort, and it won't help the problem with other types. But I want to let you know.

C++ IntelliSense 'auto' feature? Where is it? How to get it 'on'?

I would like to enable the IntelliSense 'auto' feature (like the Visual Studio C# 2008 Express) but I am using Visual Studio C++ 2008 Express Edition and in the Tools > Options > Text Editor > C/C++ (there is no option 'IntelliSense' (like Visual C#). How do I get this feature enabled? I know I can get a shortcut in place (CTRL-space etc...)? But how do I get it automatically (the drop down menu)?
In C++, IntelliSense is turned on by default (and AFAIK there isn't even an official way to turn it off). However, when you're coming from C#, you might think it's turned off, because it's so much less powerful in C++. (The reason for this is that C++ is much, much harder to parse. You can find more information on the subject here and here.)
Visual Assist improves C++ considerably (although it might not be all that considerably when you're used to C#), but I don't think you can install plugins in the express edition.
This should be enabled by default. But sometimes for C++ projects it stops working.
Is there a .NCB file in your project folder? If so, close your solution, delete that file, and then re-open your solution and do a rebuild.
I use VC++ 2008 Express Edition as my primary environment. All I can say is that sometimes Intellisense works wonderfully, sometimes it doesn't work at all. The Intellisense parser seems to be slow as can be and stumbles over a lot of cases, especially when templates are involved. Sadly, I just don't think you can count on it being consistently available.
One thing that sometimes helps when intellisense doesn't do what it should, is to delete the .ncb file in the project folder in order to force VS to rebuild the internal database (close VS before deleting the file).

Cygwin in Visual Studio

I'm trying to port an old program I wrote for class from KDev in Ubuntu to Windows Visual Studio 2008 using Cygwin as a personal learning exercise. I have the include path configured to include C:\cygwin\usr\include but it doesn't read the .h files properly.
Namely I'm curious as to how one would go about using unix sockets.h functionality in a Visual Studio environment using Cygwin. Has anybody ever got this working or have an easier way to go about doing this?
There are several ways to go about this that could be made to work, depending upon your exact goals. The simplest way is probably just to create a Visual Studio "makefile" project that fires off a custom build command to run a makefile you've built. But that keeps you away from a lot of the nice benefits of Visual Studio as an IDE, so I'm guessing that's not really what you're after.
If you want a more fully integrated solution, you're going to need to do two things. First of all, you're going to need to change out all of your include/library paths to avoid the Microsoft ones and go after the Cygwin ones instead. You can do this by selecting "Tools->Options" from the menu, then choosing "Projects and Solutions->VC++ Directories" from the tree on the left hand side of the window that comes up. You'll have options to change the search directories for executables, headers, libraries, etc. For what you're trying to do, I'd suggest removing everything and adding in just the cygwin directories.
Second, you'll have to tell Visual Studio to use the gcc/g++ compiler. This is a bit trickier. VS supports custom build rules for custom file types... but it seems to have C++ hardwired in for the Microsoft compiler. I don't really know a great way around that except to use your own custom file extension. You can try the standard unix extensions of .c (C files) and .cc (C++ files), but I suspect Visual Studio will automatically pick up on those. You may have to go with something totally foreign.
If you right click on your project in the Solution Explorer and select "Custom Build Rules" you'll be given an interface that will let you create your custom build rules for the file extension you've chosen. The interface is relatively straightforward from there.
This might not get you exactly what you wanted, but it's probably about as close as you're going to get with Visual Studio.
Simply speaking, don't do that. It would be just waste of time. I tried it several times, but always failed. Mostly, I was frustrated by many linking errors, and also was unable to use VS as a debugger.
You can use Visual Studio for editing and browsing source code. It is nice because VS provides the best C/C++ intellisense features (e.g., Auto completion, fast go to definition/declaration). But, it is very hard to use cygwin tool chains with Visual Studio 2008. Visual Studio 2008 is not designed to work with other tool chains. Specifically, you need to change (1) headers, (2) libraries, (3) compiler and (4) linker. However, it is generally very hard, or you need to trade off with the nice features of Visual Studio.
The strongest feature of Visual Studio is its debugging ability such as fully integrated debugging environment and very easy watch windows (e.g., you can see STL vector's element directly in watch windows). However, you can't do this if you would change fundamental tool chain (although I am very suspicious it is even possible to safely build with Visual Studio and cygwin tool chains).
Unfortunately, current Visual Studio 2008 is not for cygwin/MinGW.
This is an old question, but since it comes up first (for SO) on a Google search I wanted to share that it looks like the latest Visual Studio versions do support this.
For instructions, refer to this blog post:
https://blogs.msdn.microsoft.com/vcblog/2017/07/19/using-mingw-and-cygwin-with-visual-cpp-and-open-folder/