2017-08-28 43 views
0

我计划开发一个用于处理文档书签的Visual Studio扩展。基本上,我希望能够列出现有的书签,创建新的书签并删除任何现有的书签,以用于整个解决方案。如何在Visual Studio扩展中列出/操作文档书签?

在那里我找到了书签操作能力的唯一地方是the TextSelection interface:它有ClearBookmarkSetBookmarkPreviousBookmarkNextBookmark方法;但这些似乎并不是我所需要的,因为它们仅用于单个文本选择。

那么,是否有任何其他(解决方案)的方式来处理Visual Studio扩展内的文档书签?或者我错过了一些东西,这些现有的方法实际上提供了我需要的功能?

回答

1

存储在文件名为.suo书签信息的所有书签的值)。所以你可以用IVsPersistSolutionOpts Interface读取.suo文件。它包含ReadUserOptions(IStream,String),SaveUserOptions(IVsSolutionPersistence)和WriteUserOptions(IStream,String)两种方法。您可以使用它们来管理解决方案中的书签。

+0

谢谢!我发现.suo文件中的数据被读取为键/值对,您知道哪些键涉及书签管理吗? – Konamiman

+0

您可以使用一些第三方工具,如结构化存储查看器(http://www.mitec.cz/ssv.html)来查看详细的书签信息 –

1

下面的文章提供了一个完整的示例,它可以通过创建一个表示书签的Bookmark类和一个保存字典的BookmarkManager类来列出和管理所有书签(书签号是关键字,Bookmark类的对象是这是通过访问公共财产书签

https://www.codeproject.com/Articles/61915/Numbered-Bookmarks-Visual-Studio-Extension-VSX

+0

谢谢!该项目以及类似的项目,如[SergeyVinyar的VSBookmarks](https://github.com/SergeyVinyar/VSBookmarks),都是关于创建一个全新的书签引擎。相反,我有兴趣管理Visual Studio中内置的书签引擎。 – Konamiman