c# - 在特定语言构造(即属性构造函数)上扩展 Intellisense

标签 c# visual-studio attributes intellisense visual-studio-extensions

我已经为装饰方法编写了自定义属性。这些属性有助于将非关键但非常有用的上下文数据添加到方法中。目前,这有助于调试,但最终将有助于静态分析。

因为属性中指定的数据主控位于服务器上并且可以查询,所以我想我应该编写一个 Visual Studio Intellisense 扩展来帮助我的开发人员。在我的属性的构造函数中输入参数时,扩展将启动。完成建议本质上是查询结果。

我已经阅读并实现了 Statement Completion MSDN 上相对成功的示例。

该示例适用于 PlainText 上的 Completion。我已将其改为在 Code 上工作。我更近了一步。然而,我遇到的问题是我似乎无法找到如何让它了解其上下文。每当我键入任何 代码时,Completion 就会启动。我希望它比这更具辨别力。

问题:是否可以使自定义 Visual Studio 语句完成扩展了解其周围的语言结构?

我希望能够仅在我输入属性的构造函数时触发语句完成。并且,如果可能,最好只使用从给定基类派生的属性。

这种事情可能吗?

最佳答案

没有。这就是我们构建 Roslyn 的原因,但在此之前,您可能能够使用第三方解析器,或者您自己的破解解析器或启发式方法来使其工作。

关于c# - 在特定语言构造(即属性构造函数)上扩展 Intellisense,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20743927/

相关文章:

C# 允许派生类的多个属性

c# - Automapper DynamicMap 随机无法映射匿名类型

c# - 在 Windows 服务程序中记录事件

javascript - Jasmine 单元测试超时 - ReferenceError : jasmineRequire is not defined

c# - 无法加载文件或程序集 'Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' 或其依赖项之一

Symfony Twig : get Object property with a variable property

C# Azure Blob 客户端下载大 blob 速度很慢

c# - C# 属性的最具创新性的用法

javascript - VS Code 中的红色波浪线

mysql - mySQL 中域的定义?