jjzjj

java - 由于依赖项无效,无法加载类 org.eclipse.jdt.core.JDTCompilerAdapter

我正在创建一个java代理,用于对某些类进行一些字节码修改org.eclipse.jdt.core.JDTCompilerAdapter是其中之一。我正在使用javassit修改一些execute()org.eclipse.jdt.core.JDTCompilerAdapter的方法|.所以我在我的代理项目中包含了ecj(使用gradle)compilegroup:'org.eclipse.jdt.core.compiler',name:'ecj',version:'4.3.1'因为我需要使用ecj的一些类。代理的目标是拦截对execute方法的调用,修改execute方法以添加对我的

java - 我如何在 Eclipse jdt ui 中获取父类(super class)节点?

我这里有一个代码:publicclassTestOverride{intfoo(){return-1;}}classBextendsTestOverride{@Overrideintfoo(){//error-quickfixtoadd"returnsuper.foo();"}}如您所见,我已经提到了错误。我正在尝试在eclipsejdtui中为此创建一个quickfix。但是我无法获得类TestOverride的类B的父类(superclass)节点。我试过下面的代码if(selectedNodeinstanceofMethodDeclaration){ASTNodetype=sel

java - eclipse JDT : Call 'correct indentation' programmatically?

我正在开发一个Eclipse插件,它可以修改用户项目中的Java代码。基本上这个插件的结果就是在一些方法上加了Java注解,所以voidfoo(){...}成为@MyAnnotationvoidfoo(){...}除了它看起来不太像;新插入的注释的缩进很奇怪(具体来说,新注释一直到该行的左侧)。我想对文件进行所有更改,然后以编程方式调用“正确缩进”。有人知道怎么做吗?我在这里或JDT论坛上找不到答案,所有看起来相关的类(IndentAction、JavaIndenter)都在我不应该使用的内部包中...谢谢! 最佳答案 好吧,我想我

java - 使用 JDT 以编程方式格式化源代码

我正在使用JDT生成一些类。之后我想格式化整个ICompilationUnit,就像我在没有选择的情况下在打开的编辑器中按Ctrl+Shift+F(源>格式)一样。非常感谢JDT中的API以编程方式格式化源代码的任何指针。补充:我这样试过,但代码没有改变。我在发什么信息?privatevoidformatUnitSourceCode(ICompilationUnittargetUnit,IProgressMonitormonitor)throwsJavaModelException{CodeFormatterformatter=ToolFactory.createCodeFormatt

java - 如何使用 JDT 以编程方式重命名方法

我的目标是以编程方式为Java源文件中的方法调用Refactor>>RenameEclipse命令。像这样重命名方法还应该将更改应用到所有使用/引用此方法的实例。我相信JDT有一个RefactoringAPI,但找不到任何相关的文档或教程。有人能指出我正确的方向吗。编辑:运行时不需要更改。 最佳答案 我认为您最有前途的方法是转到eclipse源代码。下载所需的版本及其源代码。特别是,您需要JDT插件的源代码,它包含在“经典”版本中。以下均以4.2.1为准.启动到一个空的工作区。文件->导入:插件和片段从“Activity目标平台”、

java - 在 Eclipse 中与 Java Content Assist 交互

作为我的插件项目的一部分,我正在考虑与Eclipse在Java文件上显示的内容辅助列表进行交互(我正在尝试根据一些外部数据重新排序该列表)。我看过一些关于创建新内容辅助的教程,但没有看到关于更改现有内容辅助的教程。这可能吗?如果是,我应该从哪里开始修改Java的ContentAssist? 最佳答案 您可以使用扩展点org.eclipse.jdt.ui.javaCompletionProposalSorters更改内容辅助项的顺序,这样您就可以注册自己的ICompletionProposalSorter实现。下面的示例来自插件org

java - 如何获取eclipse的JDT源码?

我正在尝试编写一个Eclipse插件,但我发现默认情况下没有源。我在www.eclipse.org中进行了搜索,但没有找到任何内容。我的eclipse是3.6.2。JDT的源码在哪里获取? 最佳答案 似乎在最新版本的Eclipse(至少是Juno和Kepler)中,源代码不再包含在Eclipse附带的JDT包中。您必须手动下载p2源代码库:转到http://download.eclipse.org/eclipse/downloads/选择您的版本(例如4.2或4.3M6)向下滚动到“JDTSDK”并下载p2存储库从Eclipse中添

java - Eclipse 报告数组 clone() 方法来自其相应的类型(包括原语)?

我假设当eclipse建议方法时,它的形式是():-而且张贴的图片中的所有方法(但clone()除外)似乎也是如此。但是对于clone(),eclipse表示该方法来自数组的类型(在本例中为byte)。对于所有基本类型数组和引用类型数组都是一样的。例如:对于String[]它给出clone():String[]-String这是什么意思?我的理解错了吗?还是clone()方法中有其他东西?为了说清楚,我的问题是为什么Eclipse说“clone()”来自byte而它应该来自byte[],就像“length”一样。 最佳答案 这个只能

java - 如何将 JDT 添加为 Maven 依赖项?

我正在尝试创建一个依赖于JDTcore的项目.我一直在使用MavenCentral中的条目,直到我意识到它们是severalyearsoutofdate.在四处寻找之后,我遇到了https://repo.eclipse.org.我找到了我需要的存储库并添加了它:eclipseEclipseRepositoryhttps://repo.eclipse.org/content/groups/eclipse/...org.eclipse.jdtorg.eclipse.jdt.core3.10.0.v20140316-0146但后来我开始遇到错误:Thetypeorg.eclipse.core

java - Eclipse:无法打开编辑器:没有 id org.eclipse.jdt.ui.CompilationUnitEditor 的编辑器描述符

当我使用“帮助->检查更新”更新Eclipse时,我遇到了问题。如果我尝试启动Eclipse,Eclipse会打开但会显示如下错误消息:Couldnotopentheeditor:Noeditordescriptorforidorg.eclipse.jdt.ui.CompilationUnitEditor在错误的“详细信息”中,我有以下描述:org.eclipse.ui.PartInitException:Noeditordescriptorforidorg.eclipse.jdt.ui.CompilationUnitEditoratorg.eclipse.ui.internal.Ed
12