martinjw / SmartPaster2013

SmartPaster for VS 2013, VS2015 and VS2017
MIT License
18 stars 12 forks source link

Add vs 2022 Support #11

Open shamork opened 2 years ago

shamork commented 2 years ago

I like this plugin, would you please add support for vs 2022 ?

martinjw commented 2 years ago

@shamork I'm working on it!

shamork commented 2 years ago

12

@martinjw

martinjw commented 2 years ago

Try the pre-release in https://github.com/martinjw/SmartPaster

VS2022 extensions are now 64 bit and old extensions are not compatible. On the VS marketplace website we have to create new extensions just for VS2022, because you can't keep backwards compatibility.

Also I wanted to try the Community.VisualStudio.Toolkit. So I forked this project into https://github.com/martinjw/SmartPaster and completely rewrote it. An initial release is now available.

This older version will stay here, supporting the old VS2013-2019 marketplace extension; for VS2022 it's an almostly completely new codebase just for VS2022.

(One problem was that appveyor, which I use for CI, does not support VS2022 yet, so I had to strip out all my new global usings and file-scoped namespaces :( ... it is built using VS2019 for now, but I expect that to change).

Please check out the new repository, and the vsix release. If it's ok, I can push it to the marketplace soon.

martinjw commented 2 years ago

VS2022 version now on marketplace/ via VS : https://marketplace.visualstudio.com/items?itemName=martinw.SmartPaster

shamork commented 2 years ago

May be it can support vs2022 and/or the older release. The magic is add multiple InstallationTarget, and build to AnyCPU platform.

    <Installation>
        <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0, 17.0)" />
        <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[14.0, 17.0)" />
        <InstallationTarget Id="Microsoft.VisualStudio.Enterprise" Version="[14.0, 17.0)" />
        <InstallationTarget Version="[17.0,18.0)" Id="Microsoft.VisualStudio.Community">
            <ProductArchitecture>amd64</ProductArchitecture>
        </InstallationTarget>
        <InstallationTarget Version="[17.0,18.0)" Id="Microsoft.VisualStudio.Pro">
            <ProductArchitecture>amd64</ProductArchitecture>
        </InstallationTarget>
        <InstallationTarget Version="[17.0,18.0)" Id="Microsoft.VisualStudio.Enterprise">
            <ProductArchitecture>amd64</ProductArchitecture>
        </InstallationTarget>
    </Installation>

doc

martinjw commented 2 years ago

According to Micorsoft's Mads Kristensen, it's not supported. It works in some previews of VS2022 because they have binding redirects, but they won't be there in the final release. See https://www.youtube.com/watch?v=2c-4uZc0rq0 about 15 minutes in.

shamork commented 2 years ago

Try the pre-release in https://github.com/martinjw/SmartPaster

VS2022 extensions are now 64 bit and old extensions are not compatible. On the VS marketplace website we have to create new extensions just for VS2022, because you can't keep backwards compatibility.

Also I wanted to try the Community.VisualStudio.Toolkit. So I forked this project into https://github.com/martinjw/SmartPaster and completely rewrote it. An initial release is now available.

This older version will stay here, supporting the old VS2013-2019 marketplace extension; for VS2022 it's an almostly completely new codebase just for VS2022.

(One problem was that appveyor, which I use for CI, does not support VS2022 yet, so I had to strip out all my new global usings and file-scoped namespaces :( ... it is built using VS2019 for now, but I expect that to change).

Please check out the new repository, and the vsix release. If it's ok, I can push it to the marketplace soon.

I've tested the new version, works fine!