我正在为Eclipse IDE编写CDT插件。如果启动了GUI Eclipse实例,我想向用户显示一个警告对话框,否则如果启动了控制台构建,则只需写入stderr。如何以编程方式确定启动哪个GUI和控制台Eclipse?
答案 0 :(得分:1)
更新:仅当设置了相应的系统属性时,此代码才能正常工作。
boolean isHeadless = System.getProperty("eclipse.application")
.equals("org.eclipse.cdt.managedbuilder.core.headlessbuild");
此代码检查作为"应用程序"传递的参数,它是" org.eclipse.cdt.managedbuilder.core.headlessbuild"在无头日食发射的情况下。
答案 1 :(得分:0)
您还可以检查SWT插件的状态:
Bundle swtBunble = Platform.getBundle("org.eclipse.swt");
boolean isHeadless = (swtBunble==null || swtBunble.getState() != Bundle.ACTIVE);