Use Roslyn LSP library instead of Visual Studio
Needs https://github.com/dotnet/roslyn/pull/74597 before this will compile, and needs Web Tools work to be done and inserted before it can be tested, so this isn't going anywhere soon, but I thought I'd put it up a bit early because:
a) I'm keen if anyone has any issues with the global using approach? I'm just trying to avoid extern alias in every .cs file
b) This will need lots more commits to keep up with changes in main, so right now is the neatest this will ever be, and hence the easiest to review.
Reviewing commit-at-a-time is thoroughly recommended, as each commit is a standalone change, and the initial few are mostly mechanical.
TODO:
- [ ] Run integration tests
- [ ] Manual testing
- [ ] More global usings in Workspaces layer? See https://github.com/dotnet/razor/pull/10882#discussion_r1759113222
- [x] Remove compromise in Cohost Signature Help test accessor
- [ ] Remove https://github.com/dotnet/razor/blob/main/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Rename/RemoteRenameService.cs#L73
- [ ] Remove https://github.com/dotnet/razor/pull/10728/files#diff-2128ee4b61389bd2316a90477a7c3552d378880154c937559dd1f52ba7f9a022R44
- [ ] Remove https://github.com/dotnet/razor/pull/10882/files#diff-66ddc96ee184c657224b95f9a3d7febf84d74f6b3c2c26f20a464c10e5f2cab8R142-R154
TODO in subsequent PRs due to complexity/desire for manual testing
- [ ] Unify Inlay Hints cohost logic: https://github.com/dotnet/razor/pull/10672#discussion_r1691343455
Hey @davidwengier, any word on Web Tools? I'm still excited to see this go in someday. :smile:
@vzarytovskii is web tools moving to STJ still scheduled for this sprint? Or did I miss it and it's already gone in?
@abonie is working on it currently
@vzarytovskii is web tools moving to STJ still scheduled for this sprint? Or did I miss it and it's already gone in?
FYI the change has been inserted already
I have local changes that push this branch to latest and seem to work okay in manual testing. The review is not going to be fun though, given this is 6 months old, so I'm considering rebasing and opening a new one.
I can only apologise for the size and un-review-ability of this PR, but the integration tests passed, so I've pushed the latest updates. @dotnet/razor-tooling let me know if you would prefer a new PR with cleaner commits.
Val build is running: https://dev.azure.com/dnceng/internal/_build/results?buildId=2651760&view=results
UPDATE: Oh I just realized this will fail because of symbol check. Maybe it does RPS etc. anyway?
Override completion seems to be broken.... Investigating
This got way more complicated over time, so I'm going to close this and try a different approach, through smaller PRs. Thanks for the memories :)
Tracking the work at https://github.com/dotnet/razor/issues/11588