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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
如何将java文件与动态生成的文件同步?_Java_Eclipse_Eclipse Plugin_Eclipse Jdt - Fatal编程技术网

如何将java文件与动态生成的文件同步?

如何将java文件与动态生成的文件同步?,java,eclipse,eclipse-plugin,eclipse-jdt,Java,Eclipse,Eclipse Plugin,Eclipse Jdt,我已经创建了一个eclipse插件,它将动态生成一个文本文件。当用户在PackageExplorer中右键单击该方法时,它将生成一个具有类结构和方法体的新文件。我想同步这两个文件。当用户在java文件内的方法中进行一些更改时。它必须在生成的文件中更新 考虑一个场景,我们有两个方法的java文件 public Class Calculator{ public int add(int a ,int b){ int c=a+b;

我已经创建了一个eclipse插件,它将动态生成一个文本文件。当用户在PackageExplorer中右键单击该方法时,它将生成一个具有类结构和方法体的新文件。我想同步这两个文件。当用户在java文件内的方法中进行一些更改时。它必须在生成的文件中更新

考虑一个场景,我们有两个方法的java文件

public Class Calculator{

       public int add(int a ,int b){
              int c=a+b;
              return c;
          }
        public int sub(int a ,int b){
              int c=a-b;
              return c;
         }
 }
用户右键单击PackageExplorer中的add方法并生成文件。文件如下所示

将根据类名和方法名生成文件名

Calculator_add.txt:

 public Class Calculator{

       public int add(int a ,int b){
              int c=a+b;
              return c;
          }
    }

如果用户更改了方法中的逻辑,它必须反映在生成的文件中。如何在eclipse中实现这一点。请提出一些建议。这将非常有帮助。

我不确定是否应该这样做;您描述的内容听起来更像是一个buildstep类似的东西,您标记了要包含/处理的方法

因此,我将稍微重新构造您原来的问题,并尝试对此给出提示

  • 当用户选择方法时;该方法将添加到要复制的内容列表中
  • 添加自定义生成器或“生成输出”菜单项,从中可以启动流程
    • 当它运行时,它迭代toBeCopied列表并读取所有方法

我希望这有帮助

实际上我获取了方法内容并生成了输出文件。当用户更改源文件中的内容时,我需要进行更改或自动更新生成的文件。这可能吗?您可以使用
IResourceChangeListener
来侦听对工作区资源的更改。@greg-449-感谢您的回复。你能给我算法或伪代码来解决上述问题吗。我是这个eclipse插件领域的新手,非常需要这个解决方案。请看@greg-449:是否可以通过这个IResourceChangeListener来识别哪些方法内容被更改了。?我得到了发生更改的文件名。。我想获取发生更改的方法名或行号。我怎样才能用IIResourceDelta得到它?