首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DGML:如何启用自定义图表的“转到定义”?

DGML:如何启用自定义图表的“转到定义”?
EN

Stack Overflow用户
提问于 2015-02-13 18:43:39
回答 3查看 555关注 0票数 1

我正在通过DGML API生成一个自定义工作流图,其中每个节点对应一个C#类。我希望能够使用内置的“转到定义”功能,但缺乏文档。

EN

Stack Overflow用户

发布于 2015-02-13 23:12:27

如果您知道类的文件名和符号定义的位置,则可以使用VsShellUtilities类打开文档并将代码工件滚动到视图中(通过设置插入符号位置)。在我的一个扩展中,我做了这样的事情...

如果我有一个用来存储文件名和文本范围的SourceInfo类型...

代码语言:javascript
复制
void GotoDefinition(
    IServiceProvider serviceProvider, 
    SourceInfo source)
{
    IVsUIHierarchy hierarchy;
    uint itemId;
    IVsWindowFrame windowFrame;
    IVsTextView view;

    VsShellUtilities.OpenDocument(
        serviceProvider,
        source.Filename,
        Guid.Empty,
        out hierarchy,
        out itemId,
        out windowFrame,
        out view);

    if (view != null)
    {
        int line, column;
        int pos = source.TextRange.Start;
        if (view.GetLineAndColumn(pos, out line, out column) == VSConstants.S_OK)
        {
            view.SetCaretPos(line, column);
            view.CenterLines(line, 1);
        }
    }
}

class SourceInfo
{
    public string Filename { get; set; }

    public TextRange TextRange { get; set; }
}
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28497753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档