在 C++ 中自动为方法调用插入括号

Automatically insert parenthesis for method calls in C++

如果我想在 C++ 中调用 function/method,我通常的方法是键入名称的首字母并研究 IntelliSense 建议。如果我选择一个,名称将被插入,但如果也可以插入括号就更好了。当然,插入符号应该放在新括号的中间。我正在使用 Visual Studio 2015 和 ReSharper。 VS 或 R# 中是否有关于此的设置?

例如

std::string s; 
s.em 

使用智能感知后的结果应该是

std::string s; 
s.empty(_CARET_);

在 VS2017 中,您可以执行以下操作以获得所需的结果:

  • s
  • .
  • e
  • Shift+(

我认为 empty 函数的光标位于括号之间没有意义,因为 empty 函数没有参数。但与此同时,对于任何有参数的函数,将光标放在括号之间绝对方便。因此,ReSharper C++ 提供了以下内容:

  1. 如果函数没有参数

    • 输入s.e;
    • 点击 Tab 从完成弹出窗口完成 empty
    • 因此,您将得到 s.empty()_cursor_,您可以在右括号后继续输入您喜欢的任何内容。
  2. 如果函数有参数(例如append

    • 输入s.a;
    • 点击 Tab 从完成弹出窗口完成 append
    • 结果,你会得到s.append(_cursor_),你可以指定参数。

好吧,如您所见,ReSharper C++ 根据函数的签名定位光标。