visual-studio-extensions - 开发 VS 2022 扩展时如何在 DocumentView 中导航?

标签 visual-studio-extensions visual-studio-2022

我必须为 VS 2022 开发一个相当简单的扩展。为此,我需要将一些文本插入到所使用文档的某个位置(为简单起见,直接插入到开头)。我在 YouTube 和 GitHub 上观看了 Mads Kristensen 的一些视频教程,例如他的 InsertGuid 示例 ( https://github.com/MadsKristensen/InsertGuid ),我发现它很有启发,但我未能找到有关如何在文档文本中导航的指导,更具体地说,如何将文本插入其开头或结尾。 我的问题是如何做到这一点或者在哪里可以找到一些详细的教程或文档。

最佳答案

在尝试找出自己的情况(未成功)后,我在 GitHub 上询问并得到了以下解决方案( https://github.com/VsixCommunity/Community.VisualStudio.Toolkit/discussions/355 ):

DocumentView docView = await VS.Documents.GetActiveDocumentViewAsync();

docView.TextBuffer.Insert(0, "I'm at the start.");

// Insert at the end of the document.
int end = docView.TextBuffer.CurrentSnapshot.Length;
docView.TextBuffer.Insert(end, "I'm at the end.");

// Inserting at the start of the second line.
ITextSnapshotLine secondLine = docView.TextBuffer.CurrentSnapshot.GetLineFromLineNumber(1);
docView.TextBuffer.Insert(secondLine.Start, "Now I am the second line\n.");

经过测试,有效。

关于visual-studio-extensions - 开发 VS 2022 扩展时如何在 DocumentView 中导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72740091/

相关文章:

c# - Visual Studio 22 多个启动项目

c# - 在某些情况下禁用 IDE0002 规则?

visual-studio - Visual Studio 中的增量搜索

typescript - 如何使用 VSIX 中的 GetSyntaxRoot 获取 Typescript 作为 FileCodeModel 或 (Roslyn) 文档

c# - 将文件夹名称与 Productivity Power Tools 颜色编码相匹配的正则表达式

visual-studio-2022 - Visual Studio 2022如何使用快捷方式在类 View 中查找当前文件?

c# - 建议使用 webapplicationbuilder.configuration 而不是 configureappconfiguration

c# - 每个 UI 上下文的 Visual Studio 可扩展性 : ProvideAutoLoad for Package. cs

visual-studio - Visual Studio 2015 扩展管理器索引超出范围错误

c# - VSIX 项目上下文菜单