gpt4 book ai didi

c# - 如何在 IClassifier.GetClassificationSpans 上获取行号?

转载 作者:行者123 更新时间:2023-12-04 15:44:05 25 4
gpt4 key购买 nike

我正在用 C# 开发 Visual Studio 扩展,我想根据对已提供的文件的分析在文件上添加分类。我得到了每个缺陷的一组位置(文件、行、列)的分析结果。

根据 MS 文档,我看到我们应该实现 IClassifier.GetClassificationSpans 方法。我可以看到我们得到了一组 SnapshotSpan。看起来这些跨度大部分是打开文件中的完整行:当前显示的可见行和当前正在编辑的行。

但是,如前所述,我的位置已经存在一系列缺陷。我想获取当前跨度行号,以便检查我是否在该行上注册了缺陷。我已经使用调试器浏览了整个 SnapshotSpan 结构,但我找不到任何查找行号的内容。

如何获取当前SnapshotSpan行号?

当我已经给出了带有位置的结果并且我想根据这些位置在编辑器中放置字形/分类/工具提示/轮廓区域/等时,框架的逻辑是什么?

最佳答案

我终于发现我可以通过以下方式获取行号:

var lineNumber= span.Snapshot.GetLineNumberFromPosition(span.Start.Position) + 1;

+1 因为内部值从 0 开始,而编辑器中的可见行从 1 开始(或者因为我的文件分析显示我的行从 1 开始)。

关于c# - 如何在 IClassifier.GetClassificationSpans 上获取行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com