So how to configure the default target class name in Eclipse? I searched in Eclipse preference to no avail. A grep through Eclipse installation directory reveals 2 jar files containing the string "CopyOf"
Binary file ./plugins/org.eclipse.jdt.ui_3.4.1.r341_v20080827-1100.jar matchesThe first one looks right. So I first quit Eclipse, back up
Binary file ./plugins/org.eclipse.wst.jsdt.ui_1.0.12.v200809172136.jar matches
plugins/org.eclipse.jdt.ui_3.4.1.r341_v20080827-1100.jar
, expand it to /tmp/eclipse
, and edit the file org/eclipse/jdt/internal/corext/refactoring/refactoring.properties
.Change the value of the following property from CopyOf{0} to the desired value (say X{0}):
- CopyRefactoring_cu_copyOf1=CopyOf{0}Update
+ CopyRefactoring_cu_copyOf1=X{0}
plugins/org.eclipse.jdt.ui_3.4.1.r341_v20080827-1100.jar
with modified refactoring.properties:cd /tmp/eclipseIdeally, I wanted to append, rather than prepend, the extra 'X', but it turns out
jar uvf $HOME/eclipse/plugins/org.eclipse.jdt.ui_3.4.1.r341_v20080827-1100.jar org/eclipse/jdt/internal/corext/refactoring/refactoring.properties
{0}X
is resolved to a file name like Foo.javaX
, not FooX.java
. So Eclipse refactoring complains about it not being a valid compilation unit.Restart Eclipse and see the new default name in action. These steps have worked for me (my Eclipse is Version 3.4.1), but this should not be the preferred way to configure Eclipse. I wish it can be configured in preferences. Any changes to that plugin jar may be overwritten when it is updated from remote repository.