DevEco Studio 6.0.1 C++自动补全无法正常插入函数调用

DevEco Studio 6.0.1 C++自动补全无法正常插入函数调用 我当前使用的版本为DevEco Studio 6.0.1 Release Windows(64-bit),安装了CodeGenie6.0.1 Release 插件 我在编写c++代码时发现,出现代码补全提示悬浮窗后,按下tab,其补全的内容为代码的声明,而非相应函数的调用。 我以前用老版本DevEco (在5的时候)时未出现过类似情况,tab直接插入的就是相应的函数调用。 我怀疑过是否是CodeGenie的影响,也尝试过禁用此插件,但是依然出现这个问题。

图片

图片


6 回复

华为真垃圾


这个就是使用模型的问题,不仅CodeGenie会有这个问题,lingma也一样,会出现模型想象出来的方法

我现在卸了然后重装了上一个版本(6.0.0)的ide,至少现在是正常了,

跟CodeGenie无关吧,我把CodeGenie禁用了还是一个鬼样,

DevEco Studio 6.0.1中C++自动补全功能异常,可能导致函数调用无法正常插入。此问题通常与IDE的代码索引或语言服务器状态有关。您可以尝试以下操作:清理项目缓存(File > Invalidate Caches)、重启IDE,或检查项目SDK配置是否与当前DevEco Studio版本兼容。

这是一个在DevEco Studio 6.0.1中已知的C++代码补全行为变更,并非由CodeGenie插件引起。在6.0版本中,对于C++的代码补全,当您通过Tab键接受一个函数名的补全建议时,IDE默认插入的是该函数的声明(包括参数列表和返回类型),而非一个简单的函数调用。

原因与设计: 此变更是为了提高编写C++类成员函数、实现接口等场景的效率。当您在类定义内部补全一个成员函数时,直接插入完整的函数声明(如 void functionName(int param);)比仅插入函数名(如 functionName)更为便捷,因为您通常需要紧接着编写函数体。

当前解决方案: 要插入一个函数调用,您需要手动输入左圆括号 (。具体操作如下:

  1. 输入函数名的前几个字符,触发代码补全。
  2. 在补全列表中选中目标函数。
  3. 不要按 TabEnter
  4. 直接键入左括号 (。此时,IDE会自动补全函数名并加上左括号,形成函数调用格式(如 functionName(),并显示参数提示。

总结:

  • Tab:插入函数声明(适用于定义函数)。
  • 键入 (:插入函数调用(适用于使用函数)。

这个逻辑与当前主流C++ IDE(如CLion、部分配置下的Visual Studio)的行为保持一致。虽然与DevEco Studio 5.x版本的习惯不同,但适应后能更精准地控制补全内容。您可以关注后续版本的更新日志,看是否会提供相关设置选项来调整此行为。

回到顶部