tunnelvisionlabs / LangSvcV2

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

VS 2015 support #63

Closed patrichua closed 8 years ago

patrichua commented 9 years ago

Can you add support for VS 2015?

sharwell commented 9 years ago

Hi @patrichua,

Currently this set of extensions is severely impacted by the problem described in tunnelvisionlabs/InheritanceMargin#6. I looked into resolving it in a similar manner, but the changes did not look promising. At this point it looks like I won't be able to properly support Visual Studio 2015 until Update 1 is released.

I'm going to leave this issue open as the primary source of information on support for 2015.

takkuumi commented 8 years ago

hi @patrichua update 1 have arrived!

sebagomez commented 8 years ago

can we reopen this issue?

sharwell commented 8 years ago

I did reopen it, but I won't be able to get to it until mid-December.

sebagomez commented 8 years ago

No worries, I wish I could help you out... I'll take a look at the code

takkuumi commented 8 years ago

hi @sebagomez @sharwell ,what is the problem?i really want to code with VS,not the shit idea with java.

samwalls commented 8 years ago

Antlr in general appears to need a lot done, and not enough people on it (just how it appears, I have no idea in reality). I'm waiting for C++ target support for ANTLR 4, as well as this (would like to get stuck into a CLR language). It'll be exciting when these things do come!

glat commented 8 years ago

+1

sharwell commented 8 years ago

I'm still hitting InvalidMEFCacheException in Visual Studio 2015 Update 1.

Here's a debug build I'm trying to install, but when I go to open a grammar (*.g4; there are a few in this repository), an exception gets thrown.

Tvl.VisualStudio.Language.Antlr3.zip

:memo: I can't upload a .vsix file here, so you'll have to rename the .zip extension to .vsix in order to test it.

sebandraos commented 8 years ago

Hey Sam, I can corroborate your results. According to the Log it seems to be a pair of errors (at least on my machine). The first come from the VsShellComponentModelHost and states Assembly could not be found in MEF cache...Name=Tvl.VisualStudio.Shell, Version=1.0.1.594. The other has a more specific trace, an InvalidMEFCacheException at Tvl.VisualStudio.Language.AntlrV4.Antlr4OutliningTaggerProvider.CreateTagger[T](ITextBuffer buffer) at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer) but I'm assuming that's just the first function being called. If I can help with this in any more substantial way please let me know.

sharwell commented 8 years ago

@sebandraos Thanks for trying this out. It increases my confidence that the code consistently reproduces the bug. I reported the bug to some VS people at Microsoft and I'm waiting to hear back about their recommendations for next steps.

sebandraos commented 8 years ago

Great. Fingers crossed they have a couple of ideas up their sleeves. P.S. For those keen to continue working with ANTLR, despite this error a decent amount of functions still seem to work (I'm unable to pinpoint one that doesn't but I have no idea how much coverage my experiments have)

p-kaczynski commented 8 years ago

I tried it out as well, also an exception (log entries below). The file however loads correctly, the ANTLR syntax is coloured as usual etc. Is there a list of features that I could test against?

<entry>
    <record>741</record>
    <time>2016/02/01 17:12:21.786</time>
    <type>Error</type>
    <source>Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost</source>
    <description>Assembly could not be found in MEF cache.;VS.Platform.ExtensibilityHosting.MefCacheInvalidation.Description=Assembly could not be found in MEF cache.;VS.Platform.ExtensibilityHosting.MefCacheInvalidation.LoadedAssembly.Name=Tvl.VisualStudio.Shell, Version=1.0.1.594, Culture=neutral, PublicKeyToken=eb42632606e9261f;VS.Platform.ExtensibilityHosting.MefCacheInvalidation.LoadedAssembly.Path=C:/USERS/(censored)/APPDATA/LOCAL/MICROSOFT/VISUALSTUDIO/14.0/EXTENSIONS/FW1YUC1Q.NIN/Tvl.VisualStudio.Shell.dll;VS.Platform.ExtensibilityHosting.MefCacheInvalidation.LoadedAssembly.Timestamp=01/02/2016 17:10:02&#x000D;&#x000A;</description>
  </entry>
  <entry>
    <record>742</record>
    <time>2016/02/01 17:12:21.806</time>
    <type>Error</type>
    <source>Editor or Editor Extension</source>
    <description>Microsoft.VisualStudio.ExtensibilityHosting.InvalidMEFCacheException: The Visual Studio component cache is out of date. Please restart Visual Studio. The Visual Studio component cache is out of date. Please restart Visual Studio.&#x000D;&#x000A;   at Microsoft.VisualStudio.ExtensibilityHosting.FaultCatchingAssemblyLoader.&lt;LoadAssembly&gt;b__12_0(AssemblyName assemblyNameParam)&#x000D;&#x000A;   at Microsoft.VisualStudio.ExtensibilityHosting.FaultCatchingAssemblyLoader.SafeGetOrAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 valueFactory)&#x000D;&#x000A;   at Microsoft.VisualStudio.ExtensibilityHosting.FaultCatchingAssemblyLoader.LoadAssembly(AssemblyName assemblyName)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.Reflection.ResolverExtensions.GetManifest(Resolver resolver, AssemblyName assemblyName)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.Reflection.TypeRef.get_ResolvedType()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.&lt;&gt;c__DisplayClass15_0.&lt;GetExportedValueHelper&gt;b__0()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.GetValueForImportElement(RuntimePartLifecycleTracker importingPartTracker, RuntimeImport import, RuntimeExport export, Func`3 lazyFactory)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.GetValueForImportSite(RuntimePartLifecycleTracker importingPartTracker, RuntimeImport import)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.RuntimePartLifecycleTracker.SatisfyImports()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.SatisfyImmediateImports()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveNext(PartLifecycleState nextState)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveToState(PartLifecycleState requiredState)&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.GetValueReadyToExpose()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.&lt;&gt;c__DisplayClass15_0.&lt;GetExportedValueHelper&gt;b__0()&#x000D;&#x000A;   at Microsoft.VisualStudio.Composition.DelegateServices.&lt;&gt;c__DisplayClass2_0`1.&lt;As&gt;b__0()&#x000D;&#x000A;   at System.Lazy`1.CreateValue()&#x000D;&#x000A;   at System.Lazy`1.LazyInitValue()&#x000D;&#x000A;   at System.Lazy`1.get_Value()&#x000D;&#x000A;   at Tvl.VisualStudio.Language.Parsing.Implementation.BackgroundParserFactoryService.GetBackgroundParser(ITextBuffer buffer)&#x000D;&#x000A;   at Tvl.VisualStudio.Language.AntlrV4.Antlr4OutliningTagger..ctor(Antlr4OutliningTaggerProvider provider, ITextBuffer textBuffer)&#x000D;&#x000A;   at Tvl.VisualStudio.Language.AntlrV4.Antlr4OutliningTaggerProvider.&lt;&gt;c__DisplayClass4_0`1.&lt;CreateTagger&gt;b__0()&#x000D;&#x000A;   at Microsoft.VisualStudio.Utilities.PropertyCollection.GetOrCreateSingletonProperty[T](Object key, Func`1 creator)&#x000D;&#x000A;   at Microsoft.VisualStudio.Utilities.PropertyCollection.GetOrCreateSingletonProperty[T](Func`1 creator)&#x000D;&#x000A;   at Tvl.VisualStudio.Language.AntlrV4.Antlr4OutliningTaggerProvider.CreateTagger[T](ITextBuffer buffer)&#x000D;&#x000A;   at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer)</description>
  </entry>
sharwell commented 8 years ago

@p-kaczynski The biggest one missing due to this is the type and member drop down bars (shows Parser rules and Lexer rules for grammar files). Smart indent may be affected as well, but I'm not sure.

sebagomez commented 8 years ago

Could you please make a release and update the gallery?

Thanks

sharwell commented 8 years ago

@sebagomez Done!

Doogal666 commented 8 years ago

@sharwell Is there going to be an update to the PHP extension?