关于Ant和Eclipse有很多讨论,但之前没有回答似乎对我有所帮助.
这是交易:我正在尝试构建一个Java程序,它可以从命令行成功编译Ant.(为了进一步混淆问题,我试图编译的程序是Ant本身.)
我真正想要做的是将这个项目带入Eclipse并在Eclipse中编译,以便正确解析类型绑定和变量绑定(来自Eclipse JDT的命名法).我需要这个,因为我需要对构建在Eclipse JDT之上的代码运行静态分析.我将Java项目引入Eclipse以便Eclipse构建并解析所有绑定的常规方法是将源目录导入Java项目,然后告诉它使用src/main /目录作为"源目录" ".
不幸的是,使用Ant执行此操作会导致构建失败并出现大量编译错误.在我看来,Ant构建文件正在设置类路径并正确构建路径(可能通过排除某些源文件),Eclipse没有这些信息.
有没有办法获取嵌入在Ant构建文件中的类路径和构建路径信息,并将这些信息提供给Eclipse以放入其.project和.classpath文件中?我试过,从现有的构建文件(文件菜单中的一个选项)创建一个新项目,但这没有帮助.该项目仍然具有相同的编译错误.
谢谢,内尔斯
Eclipse Helios会定期开始运行显示"计算其他信息"的作业.在此期间,Eclipse非常缓慢,接近无法使用.这项工作做什么?我可以把它关掉吗?
我只希望JDT团队中的某个人能够感知并摆脱它,使其更快,或者至少将其改为有意义的东西.
有人知道Eclipse的插件,用简单的Java类名称替换完全限定的Java类名称,并尽可能使用相应的导入吗?如果它可以作为Save Action执行会更好.
是否有一种简单,直接的方法从类名中获取IType?我认为某处必须有一些静态方法.基本上,我想做的事情如下:
IType objectType = Somewhere.getType("java.lang.Object")
Run Code Online (Sandbox Code Playgroud)
有人知道这样的事吗?我一直在寻找.
我想在安装了Eclipse的机器上对各个Java源文件进行命令行Java编译.但是,我没有权限在此计算机上安装完整的Java SDK.
我知道Eclipse通过它的JDT编译,而不是使用javac.
是否可以从命令行使用Eclipse编译器?
我正在尝试编写Eclipse插件,但我发现默认情况下没有源代码.我在www.eclipse.org上搜索过,但没有找到任何东西.
我的日食是3.6.2.我在哪里可以获得JDT的来源?
我的目标是以编程方式调用Refactor >> RenameEclipse命令以获取Java源文件中的方法.重命名方法也应该将更改应用于使用/引用此方法的所有实例.
我相信JDT有一个Refactoring API,但是无法找到相同的文档或教程.
有人能指出我正确的方向.
编辑:运行时不需要更改.
我正在用JDT生成一些类.之后我想格式化整个ICompilationUnit,就像我在没有选择的情况下在打开的编辑器中按下Ctrl + Shift + F(源>格式)一样.
JDT中用于以编程方式格式化源代码的API的任何指针都非常受欢迎.
另外:我试过这样,但代码没有改变.我在忙什么?
private void formatUnitSourceCode(ICompilationUnit targetUnit, IProgressMonitor monitor) throws JavaModelException {
CodeFormatter formatter = ToolFactory.createCodeFormatter(null);
TextEdit formatEdit = formatter.format(CodeFormatter.K_COMPILATION_UNIT, targetUnit.getSource(), 0, targetUnit.getSource().length(), 0, null);
targetUnit.applyTextEdit(formatEdit, monitor);
}
Run Code Online (Sandbox Code Playgroud) 我是AST的新手(我第一次写插件).表达在现实生活中可能相当复杂.例如,我想知道如何解决对齐的左侧和右侧.
class Visitor extends ASTVisitor
{
@Override
public boolean visit(Assignment node)
{
//here, how do I get the final name to each each side of the assignment resolves?
}
}
Run Code Online (Sandbox Code Playgroud)
我还有另一个疑问,我如何获取用于调用方法的实例?
public boolean visit(MethodInvocation node)
{
//how do I get to know the object used to invoke this method?
//like, for example, MyClass is a class, and it has a field called myField
//the type of myField has a method called myMethod.
//how do I find myField? or for that …Run Code Online (Sandbox Code Playgroud) 安装 2019-12 版本的 Eclipse 后,我无法在使用深色主题和默认颜色集时设置黑色背景。如果我在 General -> Editors -> Text Editors -> Appearance color options -> Background color 中更改颜色 - 我看到行号背景颜色更改为我的选择,而文本区域保持相同的深灰色,无论我选择什么颜色.
我试图手动编辑 epf 首选项并将它们导入回来,但即使这样也行不通。Eclipse 2019-12 中是否存在一些覆盖用户选择的更改/错误?有一些关于 Eclipse 颜色的问题已经得到解答,但我相信在最近的更改后它们没有帮助。