这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

Visual Studio插件

SmartCode 为使用 Visual Studio(2019、2022)IDE的开发者提供的简单易用的AI编程助手插件,基于华为盘古研发大模型的智能开发助手,重塑了智能化软件研发的新范式,让开发者更加聚焦业务创新,事半功倍。插件基于智能生成、智能问答两大核心能力,覆盖了代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码调试、代码翻译、代码检查等开发场景,释放软件研发生产力。

应用场景

代码智能推荐与补全

  • 高效编写新代码:在编写代码时,代码助手能够基于对代码上下文的理解,实时推荐相关的代码片段、函数、变量名等。例如,当用户在编写一个循环结构时,它会推荐常用的循环语法和相关函数,帮助用户快速完成代码的编写,提高编码速度和准确性。
  • 减少重复劳动:对于一些常用的代码模式,如条件判断、异常处理等,代码助手可以自动补全代码,避免重复编写相同的代码,节省时间和精力。
  • 多行代码推荐:除了单行代码补全,代码助手还支持多行代码推荐。例如,在编写一个复杂的算法或函数时,它可以根据用户的意图和上下文,推荐完整的代码块,帮助用户快速构建代码逻辑。

代码快速熟悉与理解

  • 功能与逻辑快速理解:当接手新的项目或研究开源代码时,代码助手可以从功能、目的、使用场景和主要逻辑多个维度帮助用户快速理解代码、复杂数据结构与算法分析。例如,在阅读一个复杂的系统代码时,代码助手可以详细解释其功能和实现逻辑。
  • 解读非标准化代码和注释:有时候,用户可能会遇到一些非标准化的代码或没有详细注释的代码。代码助手可以解读这些代码,提供通俗易懂的注释和说明,帮助用户理解代码的意图和功能。例如,在一些历史遗留代码中,可能存在一些晦涩难懂的代码,代码助手会解释这些代码的功能、目的、使用场景和主要逻辑。

代码调试与优化

  • 快速定位代码错误:在代码运行报错时,代码助手通过分析堆栈信息和代码逻辑,能够快速定位代码中的错误和异常。例如,当运行代码报错时,在报错处单击代码助手图标,它会根据堆栈信息自动识别出可能导致问题的代码行或模块,并提供相关的上下文信息和建议,帮助用户快速找到错误根源,节省调试时间。
  • 性能优化建议:代码助手能够分析代码的性能瓶颈,提供优化建议。例如,当用户检查代码时,它会识别出可能导致性能问题的代码片段,如低效的循环、不必要的计算等,并建议用户使用更高效的算法或数据结构来优化代码,提高程序的运行速度和响应能力。
  • 代码可读性与可维护性优化:代码助手可以帮助用户提高代码的可读性和可维护性。例如,它会根据代码的结构和逻辑,建议用户对代码进行优化,如简化复杂的逻辑、提取重复的代码片段、增强注释和文档的清晰度等,使代码更加简洁、易读和易维护,降低后续代码修改和扩展的难度。

单元测试用例生成

  • 功能验证测试用例生成:在编写新功能或修改现有功能时,代码助手可以基于代码实现自动为功能模块创建单元测试用例。例如,当用户编写一个处理用户登录的函数时,它会生成涵盖正常登录、无效用户名、错误密码等各种情况的测试用例,确保函数行为的正确性。
  • 边界条件测试用例生成:代码助手能够识别代码中的边界条件,比如数组为空、字符串为空或达到最大长度等情况,并自动生成相应的测试用例。这些测试用例有助于检测代码在极端情况下的健壮性,提前发现潜在的边界问题。
  • 异常处理测试用例生成:在开发过程中,异常处理是容易被忽略但又非常关键的环节。代码助手会根据代码逻辑,自动为可能引发异常的代码路径生成测试用例,如模拟网络错误、数据库连接失败等场景,确保代码能够正确捕获和处理异常。
  • 高质量测试用例生成:代码助手能够分析代码逻辑和业务需求,生成既覆盖正常情况又兼顾异常场景的高质量测试用例。例如,对于一个电商网站的购物车功能,它会生成测试用例来验证添加商品、更新商品数量、删除商品等操作在不同条件下的正确性,以及应对库存不足、价格变更等异常情况的能力。

功能特性

  • 支持多种编程语言,并能根据开发者键入的函数签名和注释自动生成函数体。
  • 支持根据行级注释或代码上下文信息自动生成与描述场景匹配的代码。
  • 可根据开发者当前光标位置的前后语句片段进行代码填空和补全。
  • 支持跨文件生成与任务相关的代码。
  • 支持从功能、目的和实现逻辑三个维度对代码进行解释说明。
  • 可根据用户需求内容生成行级、函数级注释信息,能够帮助开发人员高效补充代码注释。
  • 可根据输入的代码和错误信息,得到错误原因并给出修复方案。
  • 支持生成高覆盖率的单元测试代码,包括单个方法和类级别的单元测试框架代码。
  • 可根据提问来检索研发相关知识,提供答案。
  • 支持对代码进行函数级检查功能,可及时、主动发现编码缺陷,提升代码质量和安全性。
  • 支持代码翻译,可以指出不同语言关键元素差异,帮助开发者适应新环境

1 - 使用代码助手生成代码

代码助手支持通过快捷键在IDE中触发根据代码上下文生成代码,也可以在研发对话窗口使用代码注释或自然语言描述生成代码。

使用快捷键通过上下文生成代码

1、打开一个c#文件,将编辑光标移动至需要生成代码位置,按下快捷键“Alt+C”。

生成代码

2、代码助手将根据上下文生成代码,按下Tab键可接受代码助手生成代码内容。

生成代码

通过问答生成代码

1、在研发对话窗口输入框中输入生成代码需求,如:“C#冒泡排序”,单击研发对话窗口输入框右下角生成代码按钮发送。

2、代码助手将在研发对话窗口中生成Java冒泡排序代码。

生成代码

3、单击输入框右上角生成代码可以将对话内容归档并新建会话,单击研发对话窗口右上角生成代码可以查看历史提问。

4、对代码助手生成的代码块,可以进行如下操作:

  • 单击生成代码复制代码。
  • 单击生成代码在当前光标位置插入代码。
  • 单击生成代码将代码另存为文件。

5、对代码助手回答的内容,可以进行如下操作:

  • 单击生成代码可以针对提问重新生成结果。
  • 单击生成代码可以复制回答内容。
  • 单击生成代码对回答满意。
  • 单击生成代码对回答不满意。

2 - 使用代码助手解释代码

如果开发人员对代码存在疑惑,可以使用代码助手代码解释功能自动分析代码的结构和逻辑,对代码功能进行解释,帮助开发人员理解代码的功能和实现方式。

通过问答功能解释代码

1、选中示例代码中“true”方法代码,单击右键,选择菜单“CodeArts 盘古助手:Add to Chat”或使用快捷键Ctrl+Shift+X将代码添加至研发对话窗口。

2、在研发对话窗口输入框中输入“/”,在弹出菜单中选择“/explain”,或单击研发对话窗口中“Code Explain”,单击生成解释发送。

3、代码助手将对代码进行解释,通过文字描述帮助开发人员理解代码。针对本次选中的代码,代码助手给的解释是:这段代码的主要功能是对一个整型数组进行排序。它使用了冒泡排序算法,这是一种简单但效率较低的排序算法。

生成解释

3 - 使用代码助手注释代码

代码开发完成后,使用代码助手代码注释功能可以为代码添加详细的注释说明,包括函数、变量、类的作用、参数、返回值信息,帮助开发人员更好地理解代码逻辑和实现方式,提高代码可读性和可维护性,同时也方便后续的代码维护和修改工作。

注释代码

1、选中示例代码,单击右键,选择菜单“CodeArts 盘古助手:Add to Chat”或使用快捷键Ctrl+Shift+X将代码添加至研发对话窗口。

2、在研发对话窗口输入框中输入“/”,在弹出菜单中选择“/comment”或单击研发对话窗口中“Code Comment”,单击生成注释发送。

3、代码助手将对代码进行注释,通过文字描述帮助开发人员理解代码。

生成注释

4 - 研发知识问答

在代码助手研发对话窗口中,用户可以随时提出问题,而系统则会快速检索研发相关知识,并提供匹配答案,从而帮助用户高效地解决问题。

研发知识问答

1、在研发对话窗口中输入研发相关问题“生成一段读取文本内容代码”。

2、代码助手将使用Python或其他语言生成一段读取文本内容的代码。

生成注释

5 - 常见问题

在使用代码助手过程中遇到的常见问题及处理方式。

5.1 - 代码助手提示“代码生成暂无结果”

使用代码助手生成代码时,研发对话窗口或IDE右下角提示“代码生成暂无结果”

问题现象

使用代码助手生成代码时,研发对话窗口或IDE右下角提示“代码生成暂无结果”。

可能原因

代码助手对当前代码上下文生成代码暂无结果。

解决办法

重新触发代码生成或切换至代码中其他位置触发代码生成。

5.2 - 使用代码助手时提示“请登录后再使用”

问题现象

使用代码助手功能时,研发对话窗口或IDE弹出提示“请登录后再使用”。

可能原因

  • 未使用账号登录。
  • 原有登录状态已过期。

解决办法

使用研发对话窗口登录账号,或通过系统菜单“扩展”中的“登录”子菜单进行登录账号。

5.3 - 代码助手提示“授权已经过期”

使用代码助手功能时,研发对话窗口上方提示“您的试用已经过期,请联系客户成功处理。”或“您的试用有效期已不足x天,请联系客户成功处理。”

问题现象

  • 使用代码助手功能时,研发对话窗口上方提示“您的试用已经过期,请联系客户成功处理。”。
  • 使用代码助手功能时,研发对话窗口上方提示“您的试用有效期已不足x天,请联系客户成功处理。”。

可能原因

  • 您的使用许可已到期。
  • 您的使用许可只剩x天有效期。

解决办法

通过华为云商店重新购买插件使用许可,或联系华为云商店客服处理。