Skip to content

Port Hover endpoint to cohosting #10839

@DustinCampbell

Description

@DustinCampbell

Moving Hover to co-hosting presents a few challenges.

  1. Hover can produce either MarkupContent or, if Visual Studio is the client, a ContainerElement from the Microsoft.VisualStudio.Text.Adornments namespace. For Roslyn, the production of ContainerElement happens in the Editor Features layer, which is not part of Roslyn OOP. So, some re-layering in Roslyn will be necessary.
  2. In multi-targeting scenarios, Hover will add text that describes which targets a tag helper or component is not available in. We'll need an API that can resolve a document file path to the projects that contains it.
  3. The hover infrastructure is leveraged by completion to for completion item tooltips. So, Port Completion endpoints to cohosting #10697 is dependent on work that'll happen as part of this issue.

There's also some related work that I'd like to get try and tackle:

  1. Hover for Razor tag helpers and components has very sketchy code that uses regex's to try and "parse" XML doc comments. We should add a facility to the Razor EA to that parses XML doc comments using Roslyn.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions