tunnelvisionlabs / LangSvcV2

"Language Service V2" reference repository
Other
86 stars 38 forks source link

VS 2019 support #102

Closed AdaskoTheBeAsT closed 4 years ago

AdaskoTheBeAsT commented 5 years ago

Hi,

do you plan to support also VS2019?

BR

Adam

kannode commented 5 years ago

Hi Would be great if there is VS19 support.

kjkrum commented 5 years ago

@AdaskoTheBeAsT Looking at the version history, we can probably expect an update around mid 2020. Fortunately we can update it ourselves, because it actually seems to work fine in VS2019, at least for now. Microsoft is planning a breaking change to the plugin system in the next minor version. See the comments on Synchronously autoloaded extensions.

Rename the .vsix to .vsix.zip. Extract and edit extension.vsixmanifest as shown in this blog post. You also have to edit the upper bound for the Microsoft.VisualStudio.Component.CoreEditor version in catalog.json. I set mine to 17.0; not sure if leaving it unbounded would work there. Put the edited files in the zip and rename it to its original name.

The catch is that there are two other .vsix files nested inside the main one, and Tvl.VisualStudio.OutputWindow.vsix is further nested again inside Tvl.VisualStudio.Framework.vsix. You have to change those two files in all of them. But then you can install it!

jholliday commented 5 years ago

Note that there are two (2) copies of the Tvl.VisualStudio.OutputWindow.vsix file - one at the root and another inside of Tvl.VisualStudio.Framework.vsix. Also note that you have to edit the upper bound for the Microsoft.VisualStudio.Component.CoreEditor in both the catalog.json as well as the extension.vsixmanifest file for each vsix.

If, like me, you're using VS2019 Enterprise, you also have to add another InstallationTarget entry like so: <InstallationTarget Version="[11.0, 17.0)" Id="Microsoft.VisualStudio.Enterprise" />.

AdaskoTheBeAsT commented 5 years ago

Hi,

thanks for tips - I knew trick with opening vsix as zip and applying changes to vsixmanifest - thanks for directing me to nested vsix inside and catalog.json :)

Ozzard commented 5 years ago

See #103 for a working set of changes for VS2019.

If you want a compiled version, with NO OTHER CHANGES (not even the version number changed, so beware), there's one on my Dropbox at https://www.dropbox.com/s/540ckooriq8lq0m/Tvl.VisualStudio.Language.Antlr3.vsix?dl=0 . It works fine for my needs but, as ever, use at your own risk; if it eats your firstborn, it's not my fault.

sebagomez commented 5 years ago

Downloaded your vsix @Ozzard but it's not working for me... :(

kjkrum commented 5 years ago

@sebagomez A VS update came out a few days ago. It may have been the one that was slated to break plugin loading. Insanely bad decision on Microsoft's part to roll out a breaking change like that on a point release. VS2019 still feels like a beta in many ways. I'm still using 2017 at work and will be for the foreseeable future.

sebagomez commented 5 years ago

Hi all, tired of waiting I'm creating my own extension. I'm just starting with it but hopefully, it'll be ready in a couple of weeks... anyone willing to help, I'm open for PR :)

https://github.com/sebagomez/StringTemplateColoring

Ozzard commented 5 years ago

Hi all, tired of waiting I'm creating my own extension.

Good luck! I ran out of time to do anything except the most basic "you'll have to re-enable synchronous loading to persuade it to work" change; if you're on VS19.1 or higher, @kjkrum is correct that my change won't load by default. Sorry - family's had to take priority.

If the fault is something other than "it only works if I re-enable synchronous loading", can you give us something more than "it doesn't work" and let's see if anything can be done?

sebagomez commented 5 years ago

I'll have GitHub beta releases before publishing to the Visual Studio marketplace. Every one here is invited to try it out and give me feedback about it.

Edit: the first preview release is ready, https://github.com/sebagomez/StringTemplateColoring/releases/tag/20190630.3