使用void参数调用方法时的游标放置

时间:2013-05-03 17:54:13

标签: c++ eclipse formatting eclipse-cdt

这是一个相当直接的问题,但我无法找到有关此特定格式的答案。我正在寻找一种方法来修改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(),它会将光标放在方法调用之后,如此{ {1}}再次ex.voidParams()|是我的光标。

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

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

1 个答案:

答案 0 :(得分:2)

转到Window-> Preferences-> C ++ - > Editor-> Content Assist-> Advanced,选择"基于解析的提案"而不是基于解析的提案(以任务为中心)"。