You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Im currently developing an OmniSharp plugin that implements new endpoints for some project analysis actions, that require the whole project to be loaded. E.g. one of this endpoints does a variant of a 'FindAllReferences' operation.
Currently I think I have quite a few problems because of inconsistent project state.
If OmniSharp loads a quite large solution and I invoke this endpoint quite early from the client side, no references are found. If I do the exact same call 30 seconds later, it works like a charm.
The client sends /fileschanged for various files and project in the solution. Also after that often the new endpoint call delivers inconsistent results for some time.
So my question is how can I implement behavior like this
classMyEndpointHandler:IRequestHandler<Input,Result>{privatereadonlyOmniSharpWorkspaceomniWorkspace;publicasyncTask<Result>Handle(Inputinp){awaitthis.workspace.WaitUntilFullyLoaded();// <--- Is something like this possible// And now run the logic that requires the fully loaded Roslyn solution// Maybe even take a snapshot of the project state beforehand?
...}}
Is this possible at all?
Is there some other issue going on?
Are there viable workarounds?
The text was updated successfully, but these errors were encountered:
Im currently developing an OmniSharp plugin that implements new endpoints for some project analysis actions, that require the whole project to be loaded. E.g. one of this endpoints does a variant of a 'FindAllReferences' operation.
Currently I think I have quite a few problems because of inconsistent project state.
If OmniSharp loads a quite large solution and I invoke this endpoint quite early from the client side, no references are found. If I do the exact same call 30 seconds later, it works like a charm.
The client sends /fileschanged for various files and project in the solution. Also after that often the new endpoint call delivers inconsistent results for some time.
So my question is how can I implement behavior like this
Is this possible at all?
Is there some other issue going on?
Are there viable workarounds?
The text was updated successfully, but these errors were encountered: