禁止复制&;粘贴,有没有办法共享Java详细信息格式化程序
我们店里有5-10名开发人员使用Java在Eclipse上工作,我们经常调试没有调试友好的禁止复制&;粘贴,有没有办法共享Java详细信息格式化程序,java,eclipse,debugging,version-control,Java,Eclipse,Debugging,Version Control,我们店里有5-10名开发人员使用Java在Eclipse上工作,我们经常调试没有调试友好的toString()的类 来拯救这一天。万岁!但这只是我的一天。如果我想和我的开发伙伴们分享这一喜悦,我想我必须像他们一样进行一些复制和粘贴 那太糟糕了。我们有N个不同的版本控制系统在Eclipse中工作。。。这似乎是人们想要传递的东西 文件->导出中没有任何内容。。。对话通过搜索联机帮助没有任何内容。没什么 我设法至少跟踪了/workspace/.plugins/org.eclipse.core.runt
toString()
的类
来拯救这一天。万岁!但这只是我的一天。如果我想和我的开发伙伴们分享这一喜悦,我想我必须像他们一样进行一些复制和粘贴
那太糟糕了。我们有N个不同的版本控制系统在Eclipse中工作。。。这似乎是人们想要传递的东西
文件->导出中没有任何内容。。。对话通过搜索联机帮助没有任何内容。没什么
我设法至少跟踪了/workspace/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.dbug.ui.prefs
的一些设置,但我有理由相信还有更多。另外,一想到要把隐藏在隐藏文件夹中的东西放到源代码管理中,我就紧张得要命
有没有更好的方法来共享详细信息格式化程序?理想情况下,这将是我们可以检查代码回购并以这种方式传播的东西
编辑:我正在使用Helios,服务版本1,构建id 20100917-0705
除了
javaLogicalStructures
扩展点(用于向给定类添加逻辑结构),还有一个名为detailPaneFactories
的扩展点。但这是为了创建细节格式化程序呈现到的文本(或其他任何内容,由于这个扩展点)的窗格。两者都不允许扩展程序列出现有的详细信息格式化程序(或逻辑结构)
detailPaneFactories
扩展的底部确实有一些有趣的内容:
Supplied Implementation:
The debug platform contributes a detail pane factory providing a default
text source viewer detail pane. The default detail pane displays textual
details of a selected element based on the corresponding debug model
presentation's implementation of computeDetail(IValue value,
IValueDetailListener listener).
因此,首选项存储中的字符串只是一组CSV,具有类型名称、代码段、已启用、类型名称。。。在代码段中,将\u0000替换为,就可以开始了
这将处理导出(见鬼,您可以直接转储首选项字符串whole hog)
导入不会困难得多,不过最好不要覆盖现有的类型,或者给用户这样做的选项,即使有两个不同的代码段
OTOH,我真的不想依赖
*.internal.*
中类的内部工作,虽然在首选项导出向导中没有明确的内容,但导出所有内容也会编写详细的格式化程序。只需在输出文件中搜索/instance/org.eclipse.jdt.debug.ui/org.eclipse.jdt.debug.ui.detail\u格式化程序
,并仅共享这些行
更新:导入程序中似乎存在错误,在导入文件之前,必须删除每行的/instance/
前缀
或者,由于它们存储在工作区元数据中的属性文件中,因此您可以共享它们(尽管如果只是复制该文件,可能会覆盖其他调试设置):
${workspace}\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.debug.ui.prefs
在这里使用“宏”可能会起到作用
你必须
一个这样的插件是:这个问题在EclipseBugzilla中作为文件归档。问题是在配置导入/导出首选项传输时忽略了细节格式化程序。如果被接受,修复程序应在1月底到期的3.8/4.2 M6中。来自: 详细信息格式化程序现在可以作为单独的首选项导出
以前,共享详细信息格式化程序的唯一方法是导出所有工作区设置 这将关闭中提到的:
“使详细信息格式化程序可导出”(with)不是一个真正的答案,但我看不出共享Eclipse设置有什么错。事实上,强制安装相同的IDE通常是非常有用的。不幸的是,这里过于个人化的工程师喜欢自己的方式。我比一些人年长,但不是所有人。如果没有来自上面的支持,这将永远不会发生。。。见鬼,即使有背后的力量,这样的努力也很容易失败。呸!他们是否意识到他们的机器上可以有多个Eclipse实例我通常为每个项目保留一个,因为需求可能会非常不同。但我知道你的意思,我感觉到了你的痛苦。虽然没有运气。仅仅是
/instance…
行本身似乎不会在UI中产生任何更改。但是,如果我再次导出pref,我会得到/instance///instance…
。看起来它被导入了错误的地方。我还试图通过一组现有的详细信息格式化程序来导入它:导出、调整、导入:查找更改。我想我是通过删除行开头的/instance/
位来实现的。。。在我看来,这是进口商的一个错误。
/**
* Populate the detail formatters map with data from preferences.
*/
private void populateDetailFormattersMap() {
String[] detailFormattersList= JavaDebugOptionsManager.parseList(JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST));
fDetailFormattersMap= new HashMap(detailFormattersList.length / 3);
for (int i= 0, length= detailFormattersList.length; i < length;) {
String typeName= detailFormattersList[i++];
String snippet= detailFormattersList[i++].replace('\u0000', ',');
boolean enabled= ! JavaDetailFormattersPreferencePage.DETAIL_FORMATTER_IS_DISABLED.equals(detailFormattersList[i++]);
fDetailFormattersMap.put(typeName, new DetailFormatter(typeName, snippet, enabled));
}
}