向console中加入文件链接

之前写过一篇文章大概讲了向console中加入文件链接的原理,后台调研了一下jdt的实现,发现,通过eclipse提供的扩展点可以很方便的实现。主要实现的扩展点有:

1. org.eclipse.ui.console.consolePatternMatchListeners

该扩展点需要实现org.eclipse.ui.console.IPatternMatchListenerDelegate接口,主要功能是通过正则表达式匹配console中的每一行,对匹配的行作出操作(比如增加文件链接)

2. org.eclipse.core.variables.dynamicVariables

这个扩展点需要实现org.eclipse.core.variables.IDynamicVariableResolver接口,作用就是定义一个dynamic variable,这里定义一个正则表达式,匹配console中的内容。

 

具体实现可参考org.eclipse.jdt.debug.ui插件中关于java console tracker的定义,以及JavaConsoleTracker和JavaLikeExtensionsResolver两个类的源码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用d3-force模块的webworker来并行计算力导向图。您需要创建一个新的JavaScript文件,用于运行webworker,并在d3.js调用它。您可以使用d3-force模块的以下代码: ``` javascript var simulation = d3.forceSimulation(nodes) .force("charge", d3.forceManyBody()) .force("link", d3.forceLink(links)) .force("x", d3.forceX()) .force("y", d3.forceY()) .alphaTarget(1) .on("tick", ticked); if (window.Worker) { // 创建新的webworker var worker = new Worker("worker.js"); // 发送数据给webworker worker.postMessage({nodes: nodes, links: links}); // 监听webworker的消息 worker.onmessage = function(event) { console.log("Received data from worker: ", event.data); // 更新节点和链接 simulation.nodes(event.data.nodes).links(event.data.links); }; } else { // 如果浏览器不支持webworker,则在主线程运行d3-force simulation.nodes(nodes).on("tick", ticked); } function ticked() { // 更新节点和链接的位置 } ``` 在上面的代码,我们检查是否支持webworker,如果支持,我们就创建一个新的webworker,并将节点和链接发送给它。webworker会计算新的位置,并将它们发送回主线程。如果不支持webworker,我们就在主线程运行d3-force。最后,在ticked()函数更新节点和链接的位置。 请注意,为了使此代码段保持简洁,它并不完全包含在d3.js的工作流程。如果您需要更详细的说明,请参阅d3-force模块的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值