gpt4 book ai didi

eclipse - Eclipse 中对 Grails Web 应用程序的调试支持不佳

转载 作者:行者123 更新时间:2023-12-02 13:54:20 27 4
gpt4 key购买 nike

我是一个日常 C#/ASP.NET MVC/Visual Studio 用户和我刚刚在 中启动了一个项目JAVA/GRails/Eclipse 但我发现使用 Eclipse 的调试功能非常困难,并且与 Visual Studio 相比,它们有些受限。特别是,我发现以下内容相当令人失望,但我不知道它们是否是 Eclipse 作为 Vanilla IDE 的限制,或者我正试图将其用于使用 Grails 进行开发的事实。

  • 与 Visual Studio 的“ 即时窗口 ”相当差的等效项 - 在 VS 中,我在调试期间一直使用即时窗口,我发现在 eclipse 中等效为“ 显示 ”看法。然而,在 VS 中,我可以输入对象的名称(例如“?user”),然后按回车键,我会得到对象的所有属性/方法,而在 Eclipse 中,我必须突出显示表达式,然后明确告诉它检查,执行等。完成后,它将检查结果添加到另一个窗口,迫使我在两者之间进行。
  • 显示 View 似乎无法实际评估属性或方法 .例如,如果我有一个用户类的实例,并且在显示窗口中键入 userInstance.FirstName 或调用诸如 userInstance.FullName() 之类的方法,我会收到评估失败错误:“方法 FullName() 未定义类型对象”。此外,如果我为实例添加 watch ,我可以看到属性,但同样看不到该方法。但是,该方法作为代码块中的表达式计算得很好(证明它确实存在并被识别)
  • 此外,尽管各种文档表明可以通过简单地突出显示一个对象来添加 watch ,但右键单击并添加一个 watch ,这个选项似乎不存在,所以我不得不将对象输入到显示 View 中,突出显示它并添加显示 View 上下文菜单中的 watch 。
  • 评估诸如 User.get(params.id) 之类的表达式(再次在显示 View 中)返回错误 例如:

  • User.get(params.id)
    Evaluation failed. Reason(s): params cannot be resolved



    但是,它在单步执行代码时评估良好。这是由于 Grails/Groovy 的动态特性造成的吗?

    代码片段:

    用户.groovy:
    class User {

    String firstName
    String lastName
    String middleName
    private String fullname

    static constraints = {
    firstName(blank:false)
    lastName(blank:false)
    middleName(blank:false)
    }

    public String FullName()
    {
    fullname = firstName + " " + lastName;
    }
    }

    用户 Controller .groovy:
    class UserController {

    ...

    def show = {
    User userInstance = User.get(params.id)
    userInstance.FullName()
    if (!userInstance) {
    flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'user.label', default: 'User'), params.id])}"
    redirect(action: "list")
    }
    else {
    [userInstance: userInstance]
    }
    }

    ...

    }

    谁能说出这些是否是 Eclipse、Eclipse 的 Grails 插件或其他可能的限制。无论如何,他们使用 JAVA 开发 MVC Web 应用程序的吸引力远不如我使用的等效 ASP.NET MVC。

    谢谢

    最佳答案

    大约 6 个月前,我评估了用于 Groovy/Grails 开发的所有 3 个主要 Java IDE,而 IntelliJ IDEA 远远领先于其他两个。我不知道从那以后它们是否有所改进,但我今天仍在使用 IntelliJ 并且对此非常满意。它对调试 Groovy 的支持非常好,并且允许您执行上述所有操作。我知道它不是免费的,但在我看来,它值得每一分钱。

    关于eclipse - Eclipse 中对 Grails Web 应用程序的调试支持不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258624/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com