Conversation
This commit removes the separated Visual Studio 2010 and 2012 projects, leaving a single project file in the same directory as the source code. This structure eliminates the need to use linked files in all the projects, vastly simplifying long-term maintenance.
* It was already enabled in Visual Studio 2010 * Support for Visual Studio 2015 requires substantial work for Roslyn
|
@SergeyTeplyakov The copyright headers question is for you and/or Mike and/or similar. @hubuk Do you want to see this merged before the setup scripts are updated for it, or afterwards? Aside from the |
|
💭 The |
|
I'm fine with using that copyright header. |
|
@hubuk This is now complete (i.e. ready for review) aside from the required changes to the installer. How would you like to proceed? |
As long as .NET 4.0 is supported in the editions specified above, this extension should work.
|
@sharwell I will be reviewing all your changes, but it may take a wile. I will comment any questions here and mark a changsets as reviewed by submitting +1 on each individually. Do you think that this will help to organize review better? |
|
@billings7 No, my changes contain a new version update mechanism in buildMSI10.xml only. |
|
@hubuk @billings7 Pull requests created prior to #61 will show merge conflicts in the GitHub UI, but in many cases will not actually have merge conflicts when the merge is run from the command line (and/or the merge conflicts are automatically resolved). |
|
@hubuk I will have a look into that when I can. Changing how CodeTools is built would probably be better in a different PR, from what I can remember some part of it needs VS2012 to build it. |
This assembly will require substantial modifications to support Visual Studio 2015. Rather than interleave both versions in the files using preprocessor directives, a copy of the code was made so it can be modified without affecting the original.
|
I added 3 commits which are the first part of editor support for VS 2015. Locally I only have 2 more methods to implement ( |
|
Does it means that the integration with VS2015 itself is working fine already (except the async part)? |
|
This pull request only deals with the editor extensions. The other compatibility issues for VS 2015 are actually not due to the IDE itself, but rather the new build tools (MSBuild 14.0 and Roslyn-related differences in the IL). |
The Roslyn support requires an ITextBuffer to implement obtain a workspace, so the signature of ICompiler.GetCompilation was updated to match.
Not everything is completed at this point, but the assembly does compile against the new Roslyn APIs.
During the build, the extension is now deployed to each supported environment. By default, launching ContractAdornments for debugging will launch the same version of Visual Studio currently being used. However, this may be changed by updating the debug options to point at a different devenv.exe instance.
Previously several parts of the Roslyn-based editor extensions code used using alias directives so Roslyn types could be referenced using names found in the old Visual Studio IntelliSense interop assemblies. This simplified some of the previous diffs, but now that the functionality is working this step can be removed.
There was a problem hiding this comment.
📝 Someone will need to figure out what this was doing, but it didn't seem to be essential for the initial pull request. I am in favor of creating a new issue to resolve this warning (by implementing the following excluded code block) after this pull request is merged.
Summary of changes
Visual Studio 2015 support is a placeholder - the assembly exists but the service factory throws(this was completed)NotSupportedExceptionFixes #4
Work left (should now be complete)
This is a preview branch which does not include the changes in Added .gitattributes #61. Added .gitattributes #61 needs to be merged first, and then I will update this pull request (I have a branch in my fork that's already prepared to do this efficiently).Some files are missing copyright headersI forgot to add[assembly: ProvideBindingPath](just remembered while writing this)Update the build script. buildMSI10.xml and/or Setup10.proj will need major work