我想写一个只调用Action
的ReSharper ContextAction
。这可能吗? ContextAction
将Solution
作为参数,Action
在构建时获得DataContext
。所以问题真的变成了:
你能从 Solution
的实例获得当前DataContext
吗?
var solution =
dataContext.GetData(JetBrains.ProjectModel.DataContext.DataConstants.SOLUTION);
棘手的一点是获得_psiModule
,ICSharpContextDataProvider
可以通过ContextAction
从构建provider.PsiModule
时传入的ICSharpContextDataProvider
获得。您可以从PsiModule
获得DataContext
或正确的{{1}}吗?
答案 0 :(得分:2)
var document = context.GetData(DocumentModel.DataConstants.DOCUMENT);
var solution = context.GetData(JetBrains.ProjectModel.DataContext.DataConstants.SOLUTION);
var psiModule = document.GetPsiSourceFile(solution).GetPsiModule();
答案 1 :(得分:1)
你可以试试这样的解决方案:
var solution =
dataContext.GetData(JetBrains.ProjectModel.DataContext.DataConstants.SOLUTION)