Eclipse 正在从messages.properties中删除过时的键,该属性由字符串外部化生成

Eclipse 正在从messages.properties中删除过时的键,该属性由字符串外部化生成,eclipse,string,Eclipse,String,我正在使用Eclipse的“外部化字符串”小部件。在外部化字符串时,使用键值对生成messages.properties文件 假设messages.properties如下所示: Test_msg1=Add Test_msg2=Remove Test_msg3=Include 假设我有一个文件Test.java,其中包含以下代码: String add = Messages.getString("Test_msg1"); String remove = Messages.getString("

我正在使用Eclipse的“外部化字符串”小部件。在外部化字符串时,使用键值对生成messages.properties文件

假设messages.properties如下所示:

Test_msg1=Add
Test_msg2=Remove
Test_msg3=Include
假设我有一个文件Test.java,其中包含以下代码:

String add = Messages.getString("Test_msg1");
String remove = Messages.getString("Test_msg2");
String include = Messages.getString("Test_msg3");
接下来,如果我编辑Test.java文件并删除两个字符串“remove”和“include”,那么我希望更新messages.properties文件,以便删除Test_msg2和Test_msg3。有办法做到这一点吗?或者每次我从一个巨大的java文件中删除一个字符串时,我都必须手动编辑messages.properties文件吗

谢谢,
Sony

当您通过“externalize dialog”将java文件中的字符串外部化时,应该会得到Message.java和Message.properties,如下所示

public class Message extends NLS {
    private static final String BUNDLE_NAME = "com.xxx.ui.internal.Message"; //$NON-NLS-1$
    //Generic Strings:
    public static String Str1;
    public static String Str2;

    static {
    loadMessages();
}
public static void loadMessages() {
    NLS.initializeMessages(BUNDLE_NAME, Message.class);
}
}

Str1=Add
Str2=Remove
如果没有java代码使用字符串“Str1”,您可以通过右键单击Message.java或Message.properties,然后单击上下文菜单项“source”-“find breaked externalized strings”来查找并删除它们