Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在eclipse RCP插件中防止重复ID/代码_Eclipse_Eclipse Plugin_Eclipse Rcp_Code Duplication_Duplication - Fatal编程技术网

如何在eclipse RCP插件中防止重复ID/代码

如何在eclipse RCP插件中防止重复ID/代码,eclipse,eclipse-plugin,eclipse-rcp,code-duplication,duplication,Eclipse,Eclipse Plugin,Eclipse Rcp,Code Duplication,Duplication,编写RCP插件时,我经常需要在扩展规范(即plugin.xml)和java代码中声明和引用ID。当我更改其中一个时,我还必须更改副本 我不确定问题是否已经在于代码和插件声明中必须使用相同的ID,但eclipse插件模板就是这样做的。如果这是问题的根源:如何预防 如果这是正确的方法,那么在plugin.xml和java代码中声明和引用ID:如何防止代码钝化 同样在plugin.xml中,有一些东西可能被认为是重复的:ID定义和指向它们的引用。如果我更改定义,所有引用都必须更新。可以通过简单地替换所

编写RCP插件时,我经常需要在扩展规范(即
plugin.xml
)和java代码中声明和引用ID。当我更改其中一个时,我还必须更改副本

我不确定问题是否已经在于代码和插件声明中必须使用相同的ID,但eclipse插件模板就是这样做的。如果这是问题的根源:如何预防

如果这是正确的方法,那么在
plugin.xml
和java代码中声明和引用ID:如何防止代码钝化


同样在
plugin.xml
中,有一些东西可能被认为是重复的:ID定义和指向它们的引用。如果我更改定义,所有引用都必须更新。可以通过简单地替换所有出现的文本来做到这一点。但是我通常在插件清单编辑器中编辑
plugin.xml
(即,在表单中,而不是在纯文本xml中)。有没有一种方法可以从表单内部重构ID,而不必接触纯文本xml,也不必使用容易出错的简单文本替换方法?

如果您指的是诸如
Bundle SymbolicName
之类的属性,那么您应该将其视为一个包名,即根本不应该更改的名称。
其他几个字段可以很容易地外部化为字符串,这是为了简化翻译。看见在清单编辑器的“概述”选项卡上提供了一个向导

为什么要更改扩展ID?如果你选择一个合理的ID,那么就不必改变它们。这可能有不同的原因:在我的情况下,这只是因为我在试验,不知道如何做,在一开始。所以我不知道采取合理行动的最终原因。一般来说,最终插件的需求会发生轻微的变化(例如在敏捷过程中),这可能是非常正常的,尽管您必须重命名现有ID以更好地描述新的需求。更改现有代码并不罕见,更改现有ID也不应如此。