eclipse-jdt相关内容

Eclipse JDT:如何获取Java Content Assist的数据模型

在Eclipse IDE上编写Java代码时,按Control+Space将弹出内容辅助窗口。 例如,System.的内容辅助窗口将列出类System的所有可用字段和方法。 我需要通过代码访问内容辅助窗口的“数据模型”。 使用上面的示例是:给定类名System,如何检索所有可用的字段和方法? 我在grepcode.com上花了一些时间研究这三个类的源代码: org.eclipse ..
发布时间:2022-03-27 15:57:30 Java开发

没有 Eclipse 的 JDT?

前段时间我写了一个Eclipse插件,它利用JDT来做一些解析.现在我正在考虑制作这个应用程序的命令行版本.自然,我希望重用解析代码,所以我需要让 JDT 在 Eclipse 之外工作.有什么办法可以做到这一点(也许构建一些包装器等)?是否有任何 JDT 库端口提供相同的 API/功能但独立于 Eclipse 工作? 任何帮助将不胜感激.谢谢. 解决方案 JDT 分为两个不同的部分. ..
发布时间:2022-01-16 13:49:09 Java开发

Eclipse 插件开发:如何在 Eclipse 编辑器中监听事件

我正在尝试开发一个 Eclipse 插件.我知道这件事的基本原理. 在一个示例插件模板中,当我们在eclipse的测试实例中单击菜单项(或下图中带有eclipse图标的按钮)时,sampleHandler.java的execute方法 被执行并出现如下图所示的弹出窗口. 每当我在代码编辑器中按下某个键(比如说退格键)而不是单击任何菜单条目(或按钮)时,我都想调用“执行"方法. S ..
发布时间:2022-01-16 13:17:59 Java开发

如何获得“活跃编辑器"在 Eclipse 插件中?

在我的 Eclipse 插件中,我需要知道屏幕上可见的编辑器何时发生了变化.我目前正在获取活动编辑器,如下所示: PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor() 这适用于大多数情况,但按下绿色继续按钮时除外: 如果我使用 F8 快捷键,那么活动编辑器会按预期更新. ..
发布时间:2022-01-16 13:14:40 Java开发

Eclipse Plugin - 如何获得最后一个工作的编辑器

我正在编写一个 Eclipse 插件,它通过几个按钮向用户展示一个视图.单击任何按钮时,我想将某个评论粘贴到用户当前正在工作的编辑器窗口中以及他指向的光标位置. 一旦用户点击按钮,编辑器窗口不再有焦点,下面的代码也不起作用. workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor() 如何在用户单击按钮之前 ..
发布时间:2022-01-16 13:13:32 Java开发

为什么即使我在 ASTParser 上设置了 setResolveBindings(true),resolveBinding() 仍会返回 null?

我正在编写一个 Eclipse 插件,它使用 JDT AST 的 ASTParser 来解析一个方法.我正在寻找创建特定类型对象的方法. 当我找到一个 ClassInstanceCreation 时,我会在其上调用 getType() 以查看正在实例化的类型.我想确定正在处理的完全解析类型是我认为的类型,所以我将生成的 Type 对象告诉 resolveBinding().即使没有编译错误并 ..
发布时间:2022-01-16 12:58:07 其他开发

是否可以扩展 Eclipse 搜索菜单

现在在 eclipse 中,无法使用 eclipse 扩展扩展由其他插件定义的菜单:org.eclipse.ui.menus. 我想在搜索中添加一个菜单项,而不是搜索页面.由于菜单搜索是由 org.eclipse.search 定义的,我无法添加它. 但我看到 JDT 和 CDT 确实在搜索下添加了一些菜单项.有没有人知道他们是如何做到的? 感谢任何提示. 解决方案 20 ..
发布时间:2022-01-06 14:59:29 Java开发

Eclipse + Java 8 支持吗?

如何让 Java 8 与 Eclipse 一起工作? 我已遵循本指南,但没有用.我也看过Eclipse Java 8 wiki 页面,但他们没有解释如何处理检出的 git存储库. 解决方案 对于 Kepler SR2 (4.3.2) 需要安装功能补丁才能获得 JAVA 8 支持.请按照以下步骤操作: Eclipse - 帮助 (MENU) > 安装新软件... 在“使用" ..
发布时间:2021-12-06 15:27:52 Java开发

在 Eclipse JDT Java 解析器中,是否可以在不使用访问者的情况下逐节点遍历 AST?

通过 Eclipse JDT API 访问节点信息的标准方法是使用访问者模式.例如: unit.accept(new MyVisitorAdapter() {@Override 公共无效访问(MethodCallExpr 节点,对象参数){System.out.println("找到的方法调用:" + node.toString());}}, 空值); 在这种情况下,要访问节点,我需要指定我感 ..

eclipse ASTNode 到源代码行号

eclipse中给定一个ASTNode,有什么办法可以得到对应的源代码行号吗? 解决方案 您可以使用下面的代码获取ASTNode的行号 int lineNumber = compilerUnit.getLineNumber(node.getStartPosition()) - 1; 可以使用以下代码从ASTParser获取编译单元 ASTParser parser = ASTPa ..
发布时间:2021-11-26 18:05:22 Java开发

如何使用 JDT/AST 将代码片段添加到方法体

我正在尝试使用 JDT/AST 生成 Java 源代码.我现在有 MethodDeclaration 并且想要将代码片段(来自其他来源)添加到方法主体.代码片段可以包含任何 Java 代码,甚至是语法无效的代码.我就是找不到这样做的方法. 对于 JCodeModel,您将使用 JBlock#directStatement(String s) 方法. 有没有办法用 JDT/AST 做到这 ..
发布时间:2021-11-26 18:02:54 Java开发

Eclipse JDT ASTParser 错误地转换枚举声明节点

我正在使用 JDT 分析 Java 代码,并将构建一个独立的分析工具,该工具依赖于 org.eclipse.jdt.core 包而不是 eclipse 插件.但是我发现我的工具在 Java 代码中出现的枚举声明节点上无法正常工作.在我由 jdt 创建的 AST 中,关键字 enum 被视为类型名而不是枚举声明.所以我想知道我应该如何确保我的工具可以正确处理枚举声明. 我使用的 jdt 包是“ ..
发布时间:2021-11-26 18:01:28 Java开发

使用 Eclipse 插件将修改后的 AST 保存在新文件中

我有一个 Eclipse 插件代码来操作项目/工作区中的类 (smcho.Hello).我可以创建一个 CompilationUnit 并对其进行一些修改,但我需要将结果保存在不同的文件中以检查两个版本之间的差异. 这是我如何获得 CompilationUnit 的代码. IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoo ..

Eclipse AST 不更改未在 Eclipse 中打开的文件

我正在尝试使用 eclipse 插件、JDT 和 AST(抽象语法树)修改源代码.我可以读取所有 Java 文件并对所有这些文件进行操作,但是当我使用 将这些更改(编辑)保存到文件中时 TextEdit edits = rewriter.rewriteAST();//将文本编辑应用到编译单元编辑.应用(文件);iCompilationUnit.getBuffer().setContents( ..
发布时间:2021-11-26 17:50:50 其他开发

如何将 AST 转换为 JDT Java 模型

我正在为使用 JDT 的 IType 和 IMethod 接口的插件编写单元测试.要编写单元测试,我需要实例化这样的接口.回答这个问题展示了如何创建 AST 模型,但我没有知道如何将其转换为Java模型吗? 我的代码如下: 字符串源 ="包com.test\n" +"\n" +“导入com.test.something;"+"\n" +"公共课课{\n" +"int sum(int a, ..
发布时间:2021-11-26 17:50:40 Java开发

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

我的目标是以编程方式调用 Refactor >>为 Java 源文件中的方法重命名 Eclipse 命令.重命名方法也应将更改应用于使用/引用此方法的所有实例. 我相信 JDT 有一个 Refactoring API,但找不到相同的文档或教程. 有人能指出我正确的方向吗. 编辑:运行时不需要更改. 解决方案 我认为你最有前途的方法是去 eclipse 源代码. 下载 ..
发布时间:2021-11-26 17:42:59 Java开发

Eclipse 从 .java 文件创建 CompilationUnit

如何将 .java 文件加载到 CompilationUnit 中?例如,假设我在当前项目中有一个 A.java 文件.我想将它加载到 CompilationUnit 中,然后将它传递给 ASTParser.仅将其作为纯文本加载不是一种选择,因为在这种情况下我似乎不会在 AST 中获取绑定信息. 解决方案 您可以使用 jdt 和 eclipse core 库加载项目. 使用以下代码可 ..

抛出异常时中断

Visual Studio 有一个选项可以在抛出未处理的异常时自动中断调试器,Eclipse 有类似的功能吗? 解决方案 您可以定义要在其上设置断点的精确异常列表,即使这些异常未被捕获(这应该相当于“未处理") ..
发布时间:2021-11-25 18:37:55 Java开发