尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Sourcetrail 如何用 Custom Trail 对话框在两个符号之间搜索依赖路径并筛选节点与边类型

Sourcetrail 如何用 Custom Trail 对话框在两个符号之间搜索依赖路径并筛选节点与边类型 Sourcetrail 如何用 Custom Trail 对话框在两个符号之间搜索依赖路径并筛选节点与边类型【免费下载链接】SourcetrailSourcetrail - free and open-source interactive source explorer项目地址: https://gitcode.com/GitHub_Trending/so/Sourcetrail当你已经加载并索引了一个 Sourcetrail 项目想回答符号 A 到底是通过哪些调用/引用链依赖到符号 B这类问题时靠手工在 Graph View 里逐个点节点往往走不下去。Sourcetrail 的 Custom Trail Dialog 就是为这个任务设计的你指定一个 Start Symbol 和一个 Target Symbol它会只画出从起点到目标之间存在的依赖路径并允许你用 Node Filters 和 Edge Filters 限制图中出现的节点类型与边类型。以下内容依据 Sourcetrail 官方文档DOCUMENTATION.md整理。前提项目已索引完成Graph View 可用Custom Trail 依赖已索引的符号数据所以前提是项目已经创建并完成了索引项目创建后Sourcetrail 会询问是否开始索引点击Start并等待索引完成进度可见于 Indexing Dialog 和 Status Bar。索引完成后Graph View 会显示全部已索引符号的概览。如果索引时有错误可以查看 Error View 处理也可以选择带着不完整的索引继续使用。后续所有操作都在 Graph View 内进行。打开 Custom Trail Dialog文档给出了两种打开方式通过 Graph View 工具栏Graph View 左上角有一组 trail 控件。点击箭头按钮展开/收起Custom Trail控件再点击Custom Trail Dialog按钮即可弹出对话框。通过快捷键平台快捷键Windows / LinuxCtrl UmacOSCmd U左上角的工具栏里还有 Predefined Custom Trail 按钮可以基于当前活动符号直接显示 depending/dependent 节点的图本文只讨论按自定义条件搜索的 Dialog 路径。选择搜索模式并指定两个符号Custom Trail 都有一个 Start Symbol之后从 3 种模式中选择一种Mode说明To Target Symbol再指定一个目标符号。图中只会包含从起点到目标符号的路径All Referenced图中只包含被起点符号引用的节点All Referencing图中只包含依赖起点符号的节点要在两个符号之间搜索依赖路径选择To Target Symbol。在对话框内用搜索字段分别查找 start 符号和 target 符号其交互与主 Search Field 相同输入时 Autocompletion Popup 会按模糊匹配算法列出匹配的已索引符号可以跳过字符结果旁显示节点颜色与节点类型用上下方向键在结果间切换按Tab或点击结果会将其插入搜索字段按Enter选中结果并提交。筛选节点与边类型除模式外对话框还提供以下选项控制图中显示的内容Setting说明Maximum Depth定义结果图的深度。搜索起点到目标的路径时超过该深度的路径将找不到Layout Direction定义图以竖直还是水平方向显示Node Filters定义哪些节点类型会出现在结果图中。只显示当前已加载项目中存在的节点类型该设置对 origin 和 target 节点无效Edge Filters定义哪些边类型会出现在结果图中。同样只显示项目中存在的类型特殊边member决定父子关系是否被当作边处理筛选时注意两点文档明确给出的边界Check All / Uncheck All点击这两个按钮可以一次性勾选或取消全部可用的节点或边过滤项避免逐项点击。过滤项列表是动态的Node Filters 和 Edge Filters 中只列出已加载项目里实际存在的类型。如果你没看到某个类型说明当前项目索引里没有该类型的符号。origin 和 target 节点不受 Node Filters 影响即使取消勾选某个节点类型起点与目标节点本身仍会出现在图中。可用类型可对照 Graph View 文档中的节点与边列表节点包括 File、Macro、Namespace/Package/Module、Class Struct、Type、Typedef、Variable Field、Function Method、Enum Enum Constant、Bundle、Group边包括 File Include、Type Use、Variable Use、Function Call、Inheritance、Method Override、Template Specialization Template Argument Use、Template Member Specialization、Bundled Edges以及 Edge Filters 中特殊的member边。如果目标是调用链可以只勾选 Function Call 等与调用相关的边如果不确定路径经过哪些类型可以先Check All保证不漏路径再逐步缩小。Maximum Depth 用滑块拖动调整滑块移到顶部表示使用无限深度。执行搜索并核对结果在对话框中点击SearchSourcetrail 就会按所选选项执行 Custom Trail 搜索点击Cancel则直接关闭对话框而不搜索。按文档的说明搜索完成后可以在 Graph View 中按以下方式核对结果路径范围选择了To Target Symbol时图中只会包含从起点到目标符号的路径这是文档对该模式结果的直接定义。激活节点点击节点将其激活Graph View 与 Code View 会更新为新选中的符号可以继续向下游核对。定位边对应的源码点击一条边可以在 Code View 中看到该关系对应的源码位置用来确认这条依赖具体发生在代码的哪一行。如果路径没被找到文档给出的直接原因是 Maximum Depth 限制了搜索深度When searching paths from origin to target, all paths that are beyond this depth will not be found. 此时把深度滑块调大或移到顶部使用无限深度再执行一次 Search 即可。限制与注意事项Node Filters 与 Edge Filters 对origin 和 target 节点无效起点与目标始终在图中。过滤选项只显示当前已加载项目中存在的类型换项目后过滤列表会变化。member是 Edge Filters 中唯一的特殊边用于决定父子关系parent-child relations是否作为边参与结果图。Predefined Custom Trail 按钮只对当前活动符号且符号类型匹配时可用本文的 Dialog 路径则通过搜索字段显式指定符号不依赖当前活动符号。更多细节可继续查阅 DOCUMENTATION.md 中的 Custom Trail、Graph View 与 Search View 章节对话框本身的界面布局参考文档配图 custom_trail.png。【免费下载链接】SourcetrailSourcetrail - free and open-source interactive source explorer项目地址: https://gitcode.com/GitHub_Trending/so/Sourcetrail创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表