visual-studio-extensions - 获取当前编辑文件的项目
问题描述
我按照本教程创建了我的第一个 VS 扩展。
我想从 和 获取当前编辑文件的项目,即相关项目ITextView textView
属性ITextBuffer textBuffer
。
经过一番搜索,我发现:
似乎我可以将文件路径与所有项目进行匹配来决定这一点,但这并不理想。
我可以直接在某处获得这些信息吗?
解决方案
嘿 :) 上周我也有同样的问题。
当前打开的文件名:
DTE dte = Package.GetGlobalService(typeof(SDTE)) as DTE;
string docName = dte.ActiveDocument.Name;
我使用了 ITagger - 每次代码发生更改时都会调用它,因此您始终是最新的。看看这个教程。
IEnumerable<ITagSpan<IssueTag>> ITagger<IssueTag>.GetTags(NormalizedSnapshotSpanCollection spans)
{
DTE dte = Package.GetGlobalService(typeof(SDTE)) as DTE;
string docName = dte.ActiveDocument.Name;
foreach (SnapshotSpan span in spans)
{
//look at each classification span \
foreach (ClassificationSpan classification in m_classifier.GetClassificationSpans(span))
{
//if the classification is a comment
if (classification.ClassificationType.Classification.ToLower().Contains("comment"))
{
//if the word "todo" is in the comment,
//create a new TodoTag TagSpan
int index = classification.Span.GetText().ToLower().IndexOf(m_searchText);
if (index != -1)
{
yield return new TagSpan<IssueTag>(new SnapshotSpan(classification.Span.Start + index, m_searchText.Length), new IssueTag());
}
}
}
}
推荐阅读
- architecture - NetWeight 和 GrossWeight 作为单独的值对象
- vue.js - Vuex 和 Vue-router:同时改变页面和状态
- c - C 中的内存泄漏 (MacOS)
- git - 如何按名称查找正在或曾经在远程分支中的文件?
- java - 用于postgres时间戳字段的Spring Jpa LessThanEqual
- java - Spring:无法使用选定字段查询存储库
- flutter - 固定错误:如何解决返回类型'StreamController
' 不是匿名闭包错误所定义的 'Stream' - java - javac无法在项目中导入类
- python - 如何将多行 JSON 字符串作为参数传递给 Python 脚本?
- flutter - 如果不支持颤振库,则忽略