Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds asynchronous load of the extension #4

Merged
merged 3 commits into from
Aug 31, 2019

Conversation

noreflection
Copy link

This pull request adds an asynchronous load of the extension so it could work properly in VS2019 without throwing notification. In order to make async load possible, Microsoft.VisualStudio.Shell.15 package has been added and the project .csproj was updated to target 4.7.2

@noreflection noreflection changed the title add asynchronous load of the extension adds asynchronous load of the extension Aug 12, 2019
Copy link
Owner

@justcla justcla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Nikita. Looks good.

One question: why did you add the imaging library? Was it brought in as a dependency of the Shell.15 package?

@noreflection
Copy link
Author

noreflection commented Aug 12, 2019

yes, it happens to be one of Microsoft.VisualStudio.Shell.15.0 dependency package.
I forgot to mention that I also had to manually remove previous Shell.12 and Microsoft.VisualStudio.Shell.Immutable.10.0 packages from the references since they have some naming collisions with Shell.15 and Microsoft.VisualStudio.Framework (which was also brought as one of Shell.15 dependencies) respectively.

@justcla
Copy link
Owner

justcla commented Aug 12, 2019

Thanks.
So does this mean it won't run in VS 2015 any more?

@justcla
Copy link
Owner

justcla commented Aug 12, 2019

Shell.15 is only available from VS2017 and above.
That's one of the downsides of the AsyncPackage stuff.
It just means we'll need to separate out the existing version and keep it as a legacy download. Or we create a new Guid for this one and make it VS2017+.

@noreflection
Copy link
Author

yeah, it seems like that. Do you want me to generate new guid for this extension in this pr?

and I suppose we need to update current:
InstallationTarget Id="Microsoft.VisualStudio.IntegratedShell" Version="[11.0,]" />
to:
InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,)" />

in .vsixmanifest to indicate that this version is only available from VS2017+. Should I do this in current pr?

@justcla
Copy link
Owner

justcla commented Aug 12, 2019

Tough call. Many users have already installed it for VS2019. If we use the same Guid, those users will get an automatic upgrade, which is probably the best thing for us to do for them.

Although, users on VS2015 will get a rude shock when they upgrade, as it will simply stop writing for them.

I think we should keep the same Guid for VS2109 and create a new Guid for the legacy one. I'll sort that out.

Let's make the installation target for this one VS2017+.
If you could do that, I'd be grateful. Thanks!

@noreflection
Copy link
Author

sounds reasonable.
I've updated .vsixmanifest so now it only offers to install it on VS2017/2019 skipping 2015.
Justin, thank you very much for supporting this great extension!

@justcla justcla merged commit 8a105ed into justcla:master Aug 31, 2019
@justcla
Copy link
Owner

justcla commented Aug 31, 2019

I have released a new version for VS2017/VS2019 with a new GUID.
It's available on the marketplace here: Emacs Emulation 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants