如何在Visual Studio中确定当前插入符号的位置在注释块中
本文关键字:符号 插入 位置 注释 Visual Studio | 更新日期: 2023-09-27 17:52:39
是否有一种方法可以在Visual Studio代码编辑器(C/c++或c#)中以编程方式确定当前插入符号位置在注释块内(在"//"之后或/* */之间)?我尝试像这样使用IContentType:
if ( m_textView.TextBuffer.ContentType.TypeName == "comment" )
,但似乎ContentType。BaseTypes只包含与整个文件相关的更一般的内容类型(如"text","code","C/c++")。
您应该能够使用IClassifierAggregatorService
访问编辑器中用于语法高亮显示的分类。如果你没有打败我,我将在今晚发布一个更完整的例子,展示插入符号下文本的IClassificationType
的提取。
ContentType
属性是指ITextBuffer
实例的内容。这通常是c#、文本、代码等。它不包含诸如注释或关键字
编辑
有一些关于IClassificationType
是否可以用来获取评论信息的猜测。在高层次上,这确实可以使用,尽管我可能会避免这样做。在过去的几次尝试中,我一直试图根据需要从分类器中获取信息。你可能会遇到很多微妙的完美问题。