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

Super Quick Info no longer works under Visual Studio 17.12.3! #341

Closed
Bergam64 opened this issue Jan 2, 2025 · 6 comments
Closed

Super Quick Info no longer works under Visual Studio 17.12.3! #341

Bergam64 opened this issue Jan 2, 2025 · 6 comments
Assignees
Labels
bug QuickInfo Tool tip and quick info

Comments

@Bergam64
Copy link

Bergam64 commented Jan 2, 2025

Hello and Happy New Year!

After migrating from Visual Studio 17.11.5 to 17.12.3, I've discovered that Super Quick Info is dead.
Nothing is displayed anymore when it should.

I'm using:

  • Codist v7.9.4.9972 (latest release version at this point),
  • Visual Studio 2022 v17.12.3 (also latest release version at this point) running on Windows 11.

Here are my setting:
Codist.json

Note: I still have an old machine with Visual Studio 2022 v17.11.5 running on Windows 10, also with Codist v7.9.4.9972, and everything works as expected.

Please fix this.
Thanks in advance.

@Bergam64 Bergam64 changed the title Super Quick Info and Save Configuration File no longer work under Visual Studio 17.12.3! Super Quick Info no longer works under Visual Studio 17.12.3! Jan 3, 2025
@wmjordan
Copy link
Owner

wmjordan commented Jan 4, 2025

Sorry to see that. I could not reproduce this issue.
Does it occurs on any C# projects?
Could you find the ActivityLog.xml on your machine (in the following path alike) and check whether there is something wrong related with Codist?
C:\Users\your_login_name\AppData\Roaming\Microsoft\VisualStudio\17.0_a_random_id

@wmjordan wmjordan added bug no can repro Unable to reproduce the problem QuickInfo Tool tip and quick info labels Jan 4, 2025
@Bergam64
Copy link
Author

Bergam64 commented Jan 4, 2025

Hi.

Does it occurs on any C# projects?

As far as I can tell, yes.

Could you find the ActivityLog.xml on your machine (in the following path alike) and check whether there is something wrong related with Codist?

I looked but I didn't find anything suspicious. All I found was the expected

  <entry>
    <record>1707</record>
    <time>2024/12/30 04:41:36.921</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [CodistPackage]</description>
    <guid>{C7B93D20-621F-4B21-9D28-D51157EF0B94}</guid>
  </entry>

Bottom line: nothing interesting. So I decided to dig deeper.

It so happens I also develop a VS extension of my own. So I've installed Codist in the ROSLYN VS instance that is launched when I debug my own VS extension, and here's what I got the first time I hovered my mouse over a method:
An exception of type AggregateException has been encountered. This may be caused by an extension. Open log file
and the log file contains this interesting entry:

<entry>
    <record>2055</record>
    <time>2025/01/04 18:13:45.608</time>
    <type>Error</type>
    <source>Editor or Editor Extension</source>
    <description>System.AggregateException: One or more errors occurred. ---&gt; System.TypeInitializationException: The type initializer for &apos;Codist.SymbolFormatter&apos; threw an exception. ---&gt; System.TypeInitializationException: The type initializer for &apos;Codist.SyntaxHighlight.FormatStore&apos; threw an exception. ---&gt; System.TypeInitializationException: The type initializer for &apos;Codist.ThemeHelper&apos; threw an exception. ---&gt; System.Runtime.InteropServices.COMException: GetCurrentThemeInfo must be called on the UI thread.&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread(String callerMemberName)&#x000D;&#x000A;   at Codist.ThemeHelper.GetCurrentThemeInfo() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 68&#x000D;&#x000A;   at Codist.ThemeHelper..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 25&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.ThemeHelper.add_ThemeChanged(EventHandler`1 value)&#x000D;&#x000A;   at Codist.SyntaxHighlight.FormatStore.InitSyntaxStyleCache() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 192&#x000D;&#x000A;   at Codist.SyntaxHighlight.FormatStore..cctor() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 29&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.SymbolFormatter.&lt;&gt;c__DisplayClass125_0.&lt;CreatePropertySetter&gt;b__0(String ct, SymbolFormatter f) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 1286&#x000D;&#x000A;   at Codist.SymbolFormatter..ctor(Func`2 brushConfigurator) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 40&#x000D;&#x000A;   at Codist.SymbolFormatter..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 29&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.QuickInfo.CSharpQuickInfo.OverrideDocumentation(SyntaxNode node, IQuickInfoOverride qiWrapper, ISymbol symbol, SemanticModel semanticModel, CancellationToken cancellationToken) in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 497&#x000D;&#x000A;   at Codist.QuickInfo.CSharpQuickInfo.&lt;InternalGetQuickInfoItemAsync&gt;d__26.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 362&#x000D;&#x000A;--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&#x000D;&#x000A;   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&#x000D;&#x000A;   at Codist.QuickInfo.SingletonQuickInfoSource.&lt;InternalGetQuickInfoItemAsync&gt;d__2.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\QuickInfoFactories.cs:line 130&#x000D;&#x000A;--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&#x000D;&#x000A;   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&#x000D;&#x000A;   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.&lt;ComputeSourceContentAsync&gt;d__39.MoveNext()&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.&lt;UpdateAsync&gt;d__32.MoveNext()&#x000D;&#x000A;--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&#x000D;&#x000A;   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&#x000D;&#x000A;   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoPresentationSession.&lt;UpdateAsync&gt;d__5.MoveNext()&#x000D;&#x000A;---&gt; (Inner Exception #0) System.TypeInitializationException: The type initializer for &apos;Codist.SymbolFormatter&apos; threw an exception. ---&gt; System.TypeInitializationException: The type initializer for &apos;Codist.SyntaxHighlight.FormatStore&apos; threw an exception. ---&gt; System.TypeInitializationException: The type initializer for &apos;Codist.ThemeHelper&apos; threw an exception. ---&gt; System.Runtime.InteropServices.COMException: GetCurrentThemeInfo must be called on the UI thread.&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread(String callerMemberName)&#x000D;&#x000A;   at Codist.ThemeHelper.GetCurrentThemeInfo() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 68&#x000D;&#x000A;   at Codist.ThemeHelper..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 25&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.ThemeHelper.add_ThemeChanged(EventHandler`1 value)&#x000D;&#x000A;   at Codist.SyntaxHighlight.FormatStore.InitSyntaxStyleCache() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 192&#x000D;&#x000A;   at Codist.SyntaxHighlight.FormatStore..cctor() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 29&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.SymbolFormatter.&lt;&gt;c__DisplayClass125_0.&lt;CreatePropertySetter&gt;b__0(String ct, SymbolFormatter f) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 1286&#x000D;&#x000A;   at Codist.SymbolFormatter..ctor(Func`2 brushConfigurator) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 40&#x000D;&#x000A;   at Codist.SymbolFormatter..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 29&#x000D;&#x000A;   --- End of inner exception stack trace ---&#x000D;&#x000A;   at Codist.QuickInfo.CSharpQuickInfo.OverrideDocumentation(SyntaxNode node, IQuickInfoOverride qiWrapper, ISymbol symbol, SemanticModel semanticModel, CancellationToken cancellationToken) in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 497&#x000D;&#x000A;   at Codist.QuickInfo.CSharpQuickInfo.&lt;InternalGetQuickInfoItemAsync&gt;d__26.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 362&#x000D;&#x000A;--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&#x000D;&#x000A;   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&#x000D;&#x000A;   at Codist.QuickInfo.SingletonQuickInfoSource.&lt;InternalGetQuickInfoItemAsync&gt;d__2.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\QuickInfoFactories.cs:line 130&#x000D;&#x000A;--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&#x000D;&#x000A;   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&#x000D;&#x000A;   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.&lt;ComputeSourceContentAsync&gt;d__39.MoveNext()&lt;---&#x000D;&#x000A;</description>
</entry>

Here's the XML decoded <description> element:

System.AggregateException: One or more errors occurred. ---> System.TypeInitializationException: The type initializer for 'Codist.SymbolFormatter' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Codist.SyntaxHighlight.FormatStore' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Codist.ThemeHelper' threw an exception. ---> System.Runtime.InteropServices.COMException: GetCurrentThemeInfo must be called on the UI thread.
   at Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread(String callerMemberName)
   at Codist.ThemeHelper.GetCurrentThemeInfo() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 68
   at Codist.ThemeHelper..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 25
   --- End of inner exception stack trace ---
   at Codist.ThemeHelper.add_ThemeChanged(EventHandler`1 value)
   at Codist.SyntaxHighlight.FormatStore.InitSyntaxStyleCache() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 192
   at Codist.SyntaxHighlight.FormatStore..cctor() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 29
   --- End of inner exception stack trace ---
   at Codist.SymbolFormatter.<>c__DisplayClass125_0.<CreatePropertySetter>b__0(String ct, SymbolFormatter f) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 1286
   at Codist.SymbolFormatter..ctor(Func`2 brushConfigurator) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 40
   at Codist.SymbolFormatter..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 29
   --- End of inner exception stack trace ---
   at Codist.QuickInfo.CSharpQuickInfo.OverrideDocumentation(SyntaxNode node, IQuickInfoOverride qiWrapper, ISymbol symbol, SemanticModel semanticModel, CancellationToken cancellationToken) in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 497
   at Codist.QuickInfo.CSharpQuickInfo.<InternalGetQuickInfoItemAsync>d__26.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 362
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Codist.QuickInfo.SingletonQuickInfoSource.<InternalGetQuickInfoItemAsync>d__2.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\QuickInfoFactories.cs:line 130
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.<ComputeSourceContentAsync>d__39.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.<UpdateAsync>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoPresentationSession.<UpdateAsync>d__5.MoveNext()
---> (Inner Exception #0) System.TypeInitializationException: The type initializer for 'Codist.SymbolFormatter' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Codist.SyntaxHighlight.FormatStore' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Codist.ThemeHelper' threw an exception. ---> System.Runtime.InteropServices.COMException: GetCurrentThemeInfo must be called on the UI thread.
   at Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread(String callerMemberName)
   at Codist.ThemeHelper.GetCurrentThemeInfo() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 68
   at Codist.ThemeHelper..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Helpers\ThemeHelper.cs:line 25
   --- End of inner exception stack trace ---
   at Codist.ThemeHelper.add_ThemeChanged(EventHandler`1 value)
   at Codist.SyntaxHighlight.FormatStore.InitSyntaxStyleCache() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 192
   at Codist.SyntaxHighlight.FormatStore..cctor() in D:\Codes\Open Source Projects\Codist\Codist\SyntaxHighlight\FormatStore.cs:line 29
   --- End of inner exception stack trace ---
   at Codist.SymbolFormatter.<>c__DisplayClass125_0.<CreatePropertySetter>b__0(String ct, SymbolFormatter f) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 1286
   at Codist.SymbolFormatter..ctor(Func`2 brushConfigurator) in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 40
   at Codist.SymbolFormatter..cctor() in D:\Codes\Open Source Projects\Codist\Codist\Semantics\SymbolFormatter.cs:line 29
   --- End of inner exception stack trace ---
   at Codist.QuickInfo.CSharpQuickInfo.OverrideDocumentation(SyntaxNode node, IQuickInfoOverride qiWrapper, ISymbol symbol, SemanticModel semanticModel, CancellationToken cancellationToken) in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 497
   at Codist.QuickInfo.CSharpQuickInfo.<InternalGetQuickInfoItemAsync>d__26.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\CSharpQuickInfo.cs:line 362
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Codist.QuickInfo.SingletonQuickInfoSource.<InternalGetQuickInfoItemAsync>d__2.MoveNext() in D:\Codes\Open Source Projects\Codist\Codist\QuickInfo\QuickInfoFactories.cs:line 130
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.<ComputeSourceContentAsync>d__39.MoveNext()<---

The interesting part is System.Runtime.InteropServices.COMException: GetCurrentThemeInfo must be called on the UI thread..

This should help you investigate the issue. Let me know if you need more info.

Good hunting!

@wmjordan wmjordan removed the no can repro Unable to reproduce the problem label Jan 5, 2025
@wmjordan
Copy link
Owner

wmjordan commented Jan 5, 2025

I managed to reproduce this issue on my development machine.
However, I could not make it in the VS experimental instance. Weird.
I will work on it.

@wmjordan
Copy link
Owner

wmjordan commented Jan 6, 2025

I've just released a new version to fix this nasty bug.
Alternatively, you can download the new beta and give it a try.

@Bergam64
Copy link
Author

Bergam64 commented Jan 7, 2025

I've installed Codist 7.9.5.9983 and the bug appears to be fixed.

Thanks a lot!

@wmjordan
Copy link
Owner

wmjordan commented Jan 8, 2025

Good.

@wmjordan wmjordan closed this as completed Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug QuickInfo Tool tip and quick info
Projects
None yet
Development

No branches or pull requests

2 participants