Language Services
link: http://msdn.microsoft.com/en-us/library/bb165099.aspx
利用vs开发自己的新语言的方法:语言服务
The purpose of a language service in Visual Studio is to provide language-specific support for editing source code in the integrated development environment (IDE). You implement a language service as part of a VSPackage.
This section discusses the structure and implementation of a Visual Studio language service.
For an end-to-end sample of a language project system that incorporates a language service, see theIronPython Samples.
To integrate a programming language into Visual Studio, you must provide a language service. You can develop the service in either managed or native code.
For managed code, you can use the Managed Package Framework. For more information, see Implementing a Language Service By Using the Managed Package Framework.
For either managed or native code, you can implement the language service interfaces directly. For more information, seeChecklist: Creating a Language Service.
Language Service Overview (Managed Package Framework)A language service provides editor support that lets you implement certain Visual Studio features. The Managed Package Framework (MPF) language service classes provide full support for frequently-used features and partial support for other features.
Fully Supported Features in the MPF
Partially Supported Features in the MPF
The MPF provides only partial support for the following features. This means that you must implement the methods that are called by the MPF.
Reformatting code. You supply the code that implements the reformatting.
Validating breakpoints by identifying valid code spans. You supply the code that identifies the code spans.
Supporting the debugger Autos window for displaying variables. You supply the code that determines what to show in the window.
Supporting the Navigation bar for quick navigation between types and members. You implement and return a helper class that populates the lists in the Navigation bar combo boxes.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?