1

这是一个相当直截了当的问题,但我无法找到有关这种特定类型格式的答案。我正在寻找一种方法来修改eclipse在使用其内容辅助后根据方法是否具有任何参数来完成方法调用后将光标放置在何处。

为了说明我到底在说什么,让我们考虑一个简单的 c++ 类,如下所示:

class Example
{
    public:
        int voidParams()
        {
            //do something
            return 42;
        };
        int nonVoidParams(int a)
        {
            //do something else
            return a*a;
        };
};

在某个时候,我创建了一个类的实例Example ex;

现在在 eclipse 中,如果我开始输入ex.nonV并且我告诉 eclipse 自动完成它会输入,ex.nonVoidParams()并且在这样做之后我的光标将在括号内,就像我的光标ex.nonVoidParams(|)在哪里一样|。这是有道理的并且很有用,因为我需要给这个特定的方法一个参数。

希望我刚才所说的对任何人来说都不是新鲜事,而且都是直截了当的。这就是我的问题所在。将光标放在方法调用的括号内仅在该方法带有参数时才有用。如果我要键入ex.voi并让 eclipse 自动完成到ex.voidParams()我的光标将在括号内,就像我的光标ex.voidParams(|)在哪里一样|。这不是很有用,因为我没有任何东西可以进入那里。

我想知道是否有一种方法来设置 eclipse,所以,鉴于上面的例子,如果它自动完成一个带有 void 参数的方法,比如ex.voidParams()它把光标放在方法调用之后,就像我的光标ex.voidParams()|在哪里一样|

我对自定义 eclipse 不是很熟悉,但我觉得应该有办法做到这一点,因为如果 eclipse 自动完成方法调用,它应该知道它的参数是什么,并且能够从那里调整它的格式。

哦,这可能会在某个时候被问到,我目前使用的是 Eclipse CDT 版本 4.2.0(Juno 服务版本 2)。

4

1 回答 1

2

转到 Window->Preferences->C++->Editor->Content Assist->Advanced,选择“Parsing-based Proposals”而不是“Parsing-based Proposals (Task-Focused)”。

于 2014-11-11T08:16:47.643 回答