使用eclipse的人都知道,在console中打印的异常stack信息可以连接到源文件,最近做的工具中需要相同的功能,于是调研了一下,原理很简单,看下面代码:
MessageConsole console = new MessageConsole("My Console", null);
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
IConsole[] existing = manager.getConsoles();
boolean exists = false;
for (int i = 0; i < existing.length; i++) {
if (console == existing[i])
exists = true;
}
if (!exists) {
manager.addConsoles(new IConsole[] { console });
}
manager.showConsoleView(console);
MessageConsoleStream stream = console.newMessageStream();
System.setOut(new PrintStream(stream));
//下面的代码只是说明如何向console中加入连接,没有实际意义
IDocument document = console.getDocument();
document.set("Test file link");
IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject("t");
IFile file = p.getFile("test.js");
FileLink fl = new FileLink(file, "kaitone.wisp.kul.editor.kulJs", -1, -1, 5);
try {
console.addHyperlink(fl, 0, 4);
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上面代码所作的就是添加一个自己的console,将console的内容设置成“Test file link”,并且对"test"增加文件连接,连接到project t下面的test.js的第5行。最关键的就创建一个FileLink对象,并且通过console.addHyperlink(...)方法注册这个文件连接。这只是个静态的演示,其实实际情况要复杂的多,大多都是根据上下文情况动态的生成文件连接信息输出到console,就像java 打印到console的exception stack一样。还没有具体看jdt是怎么实现的,继续调研......
分享到:
相关推荐
为了让系统在启动时能够通过串行终端输出信息,需要修改`/boot/grub/grub.conf`文件,在内核启动参数中加入对串行终端的支持: ```bash kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ ``` 修改为: ``...
如果想要利用这一功能,需要在BIOS设置中启用Serial Console选项。 #### 四、配置Bootloader 不同的Bootloader有不同的配置方法。这里以GRUB为例,介绍如何配置Serial Console。 **3.1 GRUB的配置** GRUB配置...
1. **预处理器定义**:为了绕过MFC提供的`WinMain`函数,我们需要在预处理器定义中加入`_AFXDLL`标志,以欺骗MFC库避免连接其自带的`WinMain`函数。 2. **修改项目选项**:更改`/MT`或`/ML`为`/MD`标志,以避免MFC...
最后,将源文件放到项目文件中,选择“工程/增加到工程/文件”菜单,在出现的对话框中,同时选中欲加入到工程中的所有 C 程序源文件,单击“确定”按钮。编译、连接项目文件,单击编译按钮、运行按钮即可。 方法二...
在本文中,我们将深入探讨如何使用C#连接到Firebird嵌入式数据库。Firebird是一种开源的关系型数据库管理系统,提供跨平台支持,并且有多种语言的API,包括.NET框架下的.NET Provider。本实例将基于Visual Studio ...
C#作为.NET框架的一部分,提供了丰富的类库来支持数据库连接,例如System.Data.SqlClient(用于SQL Server)和System.Data.OleDb(通用对象链接和嵌入,用于多种数据库系统)。标题中的“简单的测试工具”就是用来...
- 在弹出的新建对话框中选择“Win32 Console Application”(控制台应用程序)。 - 输入工程名称,并选择保存位置。 - 点击“确定”后,继续点击“完成”以创建一个空工程。 #### 三、添加源文件 1. **步骤**: ...
这可能包括创建客户端对象来连接服务器,定义数据模型以同步数据,以及处理网络事件等。 7. **版本控制**: 压缩包中的"entangle-swing-master"可能是Entangle Swing项目的Git仓库主分支,通常包含最新的源代码和...
2. 编辑 grub.conf 文件,添加一个启动项,并加入内核参数 console=vga xencons=ttyS16 console=ttyS16,以便NORMAL minicom 可以正常显示 ARM 板上的输出结果。 在编辑 grub.conf 文件时,需要注意以下几点: * ...
3. **事件监听**:绑定WebUploader的各种事件,如`fileQueued`(文件加入队列)、`uploadStart`(开始上传)和`uploadSuccess`(上传成功)等,以便在上传过程中进行相应的操作。 4. **触发上传**:调用WebUploader...
在QML中,我们可以使用`QtQuick.Controls`模块的`Item`或`Rectangle`作为容器,通过`qqmlengine->rootContext()->setContextProperty()`将QWidget对象暴露给QML环境,这样就可以在QML中引用这个C++对象。 例如,你...
当新的客户端连接到来时,通过调用`ThreadPool.QueueUserWorkItem`方法,将客户端连接对象作为参数传递给`worker`方法,并将其放入线程池中执行。这样可以确保即使有大量的客户端同时连接,服务器也能有效地处理请求...
链接器的作用是将由汇编器产生的一个或多个对象文件(.OBJ)合并成一个可执行文件(.EXE)或动态链接库(.DLL)。在链接过程中,Link.exe会处理以下任务: 1. **解决外部引用**:查找并连接到其他模块中的函数和...
同时,需要在域环境中,服务器应该加入到相应的域,因为BES需要AD(活动目录)支持。 3. **下载与解压**:下载bes 安装包rar文件,并使用解压工具将其解压到一个合适的文件夹。解压后,里面可能包含多个安装程序,...
接着,通过MapView控件在布局文件中嵌入地图,并在代码中初始化和加载地图。通过Google Maps API,你可以实现定位、绘制标记、显示路线等功能。 2. **定位功能**: Android提供GPS定位服务,可以通过...
在提供的文件列表中,我们可以看到以下几个关键文件: 1. **aupdate.bat**:这是一个批处理文件,通常用于执行自动更新或安装脚本,可能用来升级或维护 Conquest DICOM Server 到最新版本。 2. **atestinstallweb....
在设备配置方面,教材中提到了对防火墙配置文件的管理。管理员可以查看、删除、修改和应用已保存的配置文件,也可以上传新的配置文件。文件系统管理是设备启动时会读取的配置文件进行系统初始化工作,这部分配置被...
可以在 `system` 文件的最后一行加入 `Set shmsys:shminfo_shmmax=XXX` 和 `/etc/set shmsys:shminfo_shmmin=XXX`,这里的 `XXX` 是代表共享内存的大小,单位是字节。共享内存一般为内存的一半。 问题6:root 用户...
8. **错误处理**:在代码中加入适当的错误处理机制,如异常捕获,以确保在遇到问题时能够正确地处理。 9. **释放资源**:在程序结束时,记得关闭相机连接并释放所有占用的资源,防止内存泄漏。 以上步骤只是一个...
在创建新项目时,选择“Win32 Console Application”,然后在向导中选择“An Empty Project”并启用MFC支持,选择“Use MFC in a Static Library”。 **2. 引入Ogre库** 下载并安装Ogre库,将其包含的头文件和库...