-
Notifications
You must be signed in to change notification settings - Fork 677
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
Error information mismatch when Omnisharp begins/completes analysis #843
Comments
@masaeedu: Could you try the latest v1.5-future-preview1 release? This should address a lot of the problems with blocking and waiting on the OmniSharp server. |
For scenario #1: The "Loading..." should be gone with the latest release. As you deduced, there isn't a popup because 1) type lookup is failing for "WebClient", and 2) there aren't error squiggles in the file. So, technically, this scenario is working as expected. The problem is that the error squiggles aren't appearing, which is broken. It appears that the CodeCheck request made to OmniSharp never returns. |
@DustinCampbell If you hover the symbol after reopening the file, an error popup does appear, despite type lookup continuing to fail. I am assuming this error popup should appear without having to close and reopen the file. |
Oh, certainly. It's definitely a bug. 😄 |
#945 should address scenario 1 above. |
OK. I've prepared a new release that should at least fix scenario 1 and (hopefully) scenario 2. It'd be great if you could give it a spin before we release it to the public. Use the following steps to download and install it:
|
@DustinCampbell Just went through the steps and scenario 1 looks to be working. |
That's great to hear! Progress. 😄 |
This release greatly improves communication with the OmniSharp server. In the past, it was blocking on requests, would would delay the diagnostics. |
Alright, well, that solves my problem. Maybe this release will also fix the disappearing dialogs problem mentioned in the other issues. |
Fantastic. I hope so too. |
Environment data
dotnet --info
output:VS Code version: Version 1.6.1
C# Extension version: 1.5.0-beta4
I'm seeing strange behavior in a multi-target project.json-based project. When hovering over a type that is available in the full framework but not available in the
netstandard
target, the expected popups disappear as the project transitions between "building" and "ready" states.Steps to reproduce
There are two scenarios where I'm seeing problems. Here is the setup for both:
git clone [email protected]:masaeedu/language-ext.git
cd language-ext
git checkout omnisharpmissingerrors
dotnet restore
Scenario 1: Type lookup in open file as project analysis finishes
code .
LanguageExt.Tests/TaskTests.cs
WebClient
parameter type on line 78 and observe the resultScenario 2: Type lookup in open file as project analysis begins
code .
LanguageExt.Tests/TaskTests.cs
WebClient
parameter type on line 78LanguageExt.Core/ActionObservable.cs
)LanguageExt.Tests/TaskTests.cs
LanguageExt.Tests/TaskTests.cs
Actual and expected behavior
Scenario 1
Actual
You will see a "Loading..." popup appear for a while as the project is built. After a while, hovering over the
WebClient
symbol will no longer display any popup at all. In the verbose log I see that a type lookup is occurring and comes up with{"Type":null,"Documentation":null}
, but no errors appear.After the "Loading..." popup stops appearing, close and reopen the file. Now the appropriate squiggles and bottom ribbon error entries appear.
Expected
Once analysis has completed, the appropriate errors should appear in the editor and the bottom ribbon automatically. The user should not have to close and reopen the file.
Scenario 2
Actual
Once you open the file after waiting an appropriate amount of time, the appropriate squiggles and bottom ribbon errors will appear correctly. After making the described changes to
LanguageExt.Core/ActionObservable.cs
andLanguageExt.Tests/TaskTests.cs
, errors continue to appear in the bottom ribbon even though the corresponding lines have been deleted. After reopening theLanguageExt.Tests/TaskTests.cs
file, error squiggles appear underneath the wrong code:Expected
Errors should disappear once the code is modified, pending rebuild. At the very least, error underlining should not be applied to the wrong code.
Additional improvements
When user-requested information is blocked by pending analysis, it would be nice if you could display a specific indication of what Omnisharp is doing and (where possible) how long it will take, instead of just showing the user "Loading...".
The text was updated successfully, but these errors were encountered: