How to achieve LanguageService functionality without implementing Microsoft.VisualStudio.Package.LanguageService

Soumabha Sarkar 41 Reputation points
2023-04-04T17:03:59.3333333+00:00

We have an existing Extension where Language Service for the editor is implemented using Microsoft.VisualStudio.Package.LanguageService abstract class. This abstract class have GetScanner, CreateDropDownHelper, ParseSource and other abstract/virtual methods through which we have supplied our implementation of IScanner, TypeAndMemberDropdownBars and Microsoft.VisualStudio.Package.Source. But now we are planning to get rid of Microsoft.VisualStudio.Package.LanguageService implementation and use an existing Language Service for some other IDE using Language Server Protocol. But we are not sure how to provide our implementation of scanner and TypeAndMemberDropdownBars without using Microsoft.VisualStudio.Package.LanguageService abstract class.

Visual Studio Extensions
Visual Studio Extensions
Visual Studio: A family of Microsoft suites of integrated development tools for building applications for Windows, the web and mobile devices.Extensions: A program or program module that adds functionality to or extends the effectiveness of a program.
214 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Anna Xiu-MSFT 28,761 Reputation points Microsoft Vendor
    2023-04-05T08:02:05.6466667+00:00

    Hi @Soumabha Sarkar ,

    Welcome to Microsoft Q&A!

    I suppose you must use Microsoft.VisualStudio.Package.LanguageService class to implement IScanner and TypeAndMemberDropdownBars.  

    Sincerely, Anna


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". 
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.