跳到主要内容

代码编辑器

SnapDevelop 代码编辑器提供了相当多的功能,让您可以轻松高效地编写和管理代码,例如,可以在单个或多个文件、当前项目或整个解决方案中查找和替换文本;可以使用 大纲(Outlining) 功能折叠和展开代码块,可以使用 跳转到定义 和 查找所有引用 等功能查找代码。

在 IDE 中移动​

窗口或文件切换​

您可以使用以下方法在代码编辑器中切换打开的文件或切换工具窗口:

  • 按 Ctrl + “-” 或 Ctrl + Shift + “-” 键可以在代码编辑器中按文件的最后访问顺序向前或向后切换打开的文件。

  • 按 Ctrl + Tab 键可在活动文件中切换。只需按住 Ctrl 键并反复按 Tab 键,以及向左和向右的箭头,直到切换到所需的文件。

  • 点击编辑器右上角的箭头图标,然后从列表中选择所需文件。

键盘快捷键​

几乎所有的菜单都定义了键盘快捷键。

代码编辑器​

基本功能​

本节介绍 SnapDevelop 代码编辑器的基本功能,它可以帮助您非常高效、轻松地编辑代码。根据不同的语法,代码编辑器提供了不同的功能。

C# 语法具有以下所有功能:代码高亮、代码折叠、代码快速提示信息、代码方法签名帮助、代码修复、代码重构、符号重命名、删除未使用的using并排序、代码片段、代码自动完成、代码元信息、代码诊断、代码格式化等。

Grpc 语法具有以下功能:代码高亮、代码折叠、代码快速提示信息、代码诊断、代码自动完成等。

Vue 语法具有以下功能:代码高亮、代码折叠、代码快速提示信息、代码诊断、代码自动完成、代码片段等。

JSON、XML 及 YAML 语法具有以下功能:代码高亮、代码折叠、代码诊断等。

快速信息

当您把鼠标悬停在代码元素(例如类型、变量等)上,或者把光标插入点放到元素中然后点击工具栏的 显示快速信息 按钮(),关于该元素的相关信息将会自动显示。

引用计数

当您编写代码时,您会在类、方法、接口、枚举索引等上方看到一个引用计数。引用计数表示该元素被引用了多少次。当点击引用计数时,将显示哪些代码引用了该元素。

代码高亮

代码语法比如关键词、类型、方法名等用不同的颜色表示以便区分。您可以定义这些颜色。详细信息,请参考 字体和颜色。

代码诊断

当您编写代码时,可能会在代码中看到不同颜色的波浪下划线。红色波浪下划线表示语法错误,绿色下划线表示警告。如果鼠标悬停在错误上,则会马上显示针对该错误的修复建议。

代码编辑器的左下角将显示错误和警告的数量,以及提供导航按钮来快速定位引起这些错误和警告的代码。

大括号匹配

当点击某个大括号时,该大括号以及跟它配对的大括号将自动突出显示。这可以帮助您快速找出哪些大括号放错了位置或丢失了。

代码自动完成(CodeAssist)

当您在代码编辑器中输入字符时,或者插入光标后按 Ctrl + J 时,代码自动完成功能会按字母顺序显示所有可能输入的选项,并突出显示与输入字符最匹配的选项。

您还可以通过列表底部的图标来显示某一种或多种类型的代码选项,例如:代码片段、类、关键词、委托、枚举、结构、命名空间、接口、参数等。允许同时选中多种类型。

代码片段

在代码自动完成功能中的建议列表中,您可以点击列表底部的 仅显示CodeSnippets 图标()然后双击所需的代码片段,代表代码片段的符号将会被插入到代码中,这时,快速按两下 Tab 键激活代码片段,完整的代码片段将会显示出来。

行号

默认情况下行号会显示在代码编辑器的左边距中。如不需要显示行号,请到 工具 > 选项 > 文本编辑器 > 常规 中禁用 行号边距 选项。

变更追踪

如果在 工具 > 选项 > 文本编辑器 > 常规 中启用了 跟踪更改 选项,则自文件打开以来所做的未保存更改将会在代码编辑器的左侧用黄色竖线表示。

代码和文本选择

您可以框选或者鼠标拖选代码。如使用框选,需要先按住 Alt 键后再拖动鼠标选择代码(或按 Alt + Shift + 方向键),从第一个字符到最后一个字符将形成一个方框,方框内的字符处于选中状态。这时输入、粘贴、或删除任何内容都将同时作用到框中每行的同一位置。

字体缩放

您可以在代码编辑框中按住 Ctrl 键后然后滚动鼠标滚轮来放大或缩小字体。也可以通过代码编辑框左下角的缩放标尺来调整字体的比例。

将 JSON/XML 粘贴为类

在 SnapDevelop 中复制和粘贴 JSON 或 XML 代码时,可以自动将代码转换为类。

具体操作如下:复制 JSON 或 XML 代码,然后在菜单栏中选择 编辑 > 定制粘贴 > 把 JSON 粘贴为类 或 把 XML 粘贴为类 可以将 JSON 或 XML 代码自动转换为类并粘贴到编辑器。

例如,如果您选择 把 JSON 粘贴为类,您将获得一些格式如下的类:

public class Rootobject
{
public Logging Logging { get; set; }
public string AllowedHosts { get; set; }
public ConnectionStrings ConnectionStrings { get; set; }
}

public class Logging
{
public LogLevel LogLevel { get; set; }
}

创建 GUID

SnapDevelop 提供了一个 GUID 生成工具,允许您以某种格式来生成 GUID,并将其复制到剪贴板。

要打开 GUID 生成工具,请在菜单栏中选择工具 > 创建 GUID。在 创建 GUID 窗口中,您可以选择一种 GUID 格式。当您选中格式前面的单选框后,结果 文本框中将显示自动生成的 GUID。您可以点击 重新生成 GUID 生成一个不同的 GUID。或者点击 结果 文本框中的 复制 图标将 GUID 复制到粘贴板。或者点击 插入 按钮将 GUID 插入到光标所在位置。

自动换行

您可以在工具 > 选项 > 文本编辑器 > 常规 对话框中选择或取消根据单词换行选项。如果选择该选项,超出编辑器窗口当前宽度的长行的一部分将显示在下一行。

使用 “+” 连接字符串

如果在字符串中按 Enter 开始新行,则两个字符串会自动使用 “+” 连接。

多光标编辑

您可以对多处文本(多光标)同时进行编辑。为此,请按住 Ctrl 键并使用鼠标点击多个位置插入光标或者选择多处文本,然后编辑文本。

撤消和重做

您可以在菜单选择 编辑 > 撤销 或 编辑 > 重做 对当前 SnapDevelop 会话中的操作运行撤消和重做命令。

参数信息帮助

当您将光标插入点放到某个方法的参数括号之前,便可以直接激活该方法的参数信息帮助。

高级功能​

当代码编辑器处于打开状态时,工具栏上的 编辑 > 高级 菜单提供了多种高级编辑功能。

设置文档的格式 -- 统一缩进文档中的所有代码。

设置选定内容的格式 -- 统一缩进文档中选定的代码。

注释选定内容 -- 将注释字符添加到选定的行,如果未选择任何字符,则添加到当前行。

取消注释选定内容 -- 从所选行或当前行中删除注释字符。

转换为大写 -- 将所有选定字符更改为大写。

转换为小写 -- 将所有选定字符更改为小写。

增加行缩进 -- 在所选行或当前行的前面添加空格以增加缩进。

减少行缩进 -- 在所选行或当前行的前面删除空格以减少缩进。

大纲显示(代码折叠)​

大纲显示 功能允许您根据代码的层级来折叠或展开代码。要使用此功能,请在右键菜单中选择 大纲显示。我们以以下代码为例,演示如何执行各种大纲操作。

使用 大纲显示 功能,您可以:

  • 应用默认大纲展开:应用程序默认使用的大纲展开设置。

  • 折叠到定义:折叠所有类型的成员。

  • 展开所有大纲显示:展开所有层级。

  • 隐藏选中区域:隐藏当前选中的代码块。

  • 停止隐藏当前区域:当代码块处于隐藏状态时,选择此菜单可以将代码块重新显示出来。

  • 停止大纲显示/启动自动大纲显示:隐藏或显示整个文件的所有大纲信息。

  • 切换所有大纲显示:将所有层级设置为相同的折叠或展开状态。 如果一些区域为展开状态,一些为折叠状态,那么将展开折叠区域。

  • 切换大纲显示展开:切换当前大纲层级的折叠或展开状态。

    注意:您可以在编辑器中复制处于折叠状态的代码,但是在粘贴后代码将自动切换成展开状态。

当鼠标悬停在大纲边距上时,当前可折叠区域将高亮显示。此高亮颜色可以修改(请选择菜单 工具 > 选项,在 选项 窗口中,选择 文本编辑器 > 字体和颜色,在 显示项 列表框中,选择 可折叠区域)。

查找和替换​

查找和替换文本​

您可以按 Ctrl + F 或 Ctrl + H,或选择菜单 编辑 > 查找和替换 > 快速查找 或 快速替换 来查找和替换文本。

如果您在当前文件中选择了一串字符,然后按 Ctrl + F 或 Ctrl + H,查找/替换框将显示在代码编辑器的右上角。同时,当前文件中的所有匹配的字符串都会高亮显示。匹配高亮颜色可以修改(请选择菜单 工具 > 选项,在 选项 窗口中,选择 文本编辑器 > 字体和颜色,在 显示项 列表框中,选择 查找匹配高亮)。

您可以通过点击查找/替换框上的 查找下一个 图标(或按 F3)依次查看查找到的字符串。

当点击 查找全部 图标时,查找到的所有结果及定位信息将在底部的独立窗口中显示。双击列表中的某个搜索结果可以直接在代码编辑器中打开所在的文件并且文件中的匹配项被突出显示。

在查找/替换框上,您可以点击 切换替换模式 图标切换到替换功能。点击 替换下一个 按钮逐一替换。如果要替换所有匹配的字符串,请点击 全部替换 图标。您还可以选择搜索和替换范围,包括当前文档、选中内容、所有已打开文档、当前项目和整个解决方案。

您还可以进一步设置,例如 匹配大小写、全字匹配、和 使用正则表达式,这些选项可以帮您更准确地查找和替换。如果您想了解如何使用正则表达式,请参阅附录 C:正则表达式示例。

在文件中查找和替换​

在文件中查找/替换 的工作方式与 查找和替换 非常相似。要访问 在文件中查找/替换 对话框,请按 Ctrl + Shift + F 或 Ctrl + Shift + H,或选择菜单 编辑 > 查找和替换 > 在文件中查找 或 在文件中替换。

编写和重构代码​

快速操作​

快速操作可以帮您轻松生成代码,例如类、属性等,或者引入本地变量。快速操作还可以帮您优化代码,例如删除没有用到的变量等。当您将光标放在可操作的代码行上,出现灯泡图标时,表示可以执行快速操作。或者右键点击代码行然后选择 快速操作和重构。

使用灯泡图标执行快速操作​

在以下情况下,会出现灯泡图标。灯泡图标表示您有可执行的操作来改进或修复您的代码。

  • 将鼠标悬停在错误上,会出现修复的灯泡图标。

    点击 显示可能的修补程序 链接或点击灯泡图标,将看到所有可能的快速操作建议。

  • 右键点击错误的代码,然后选择 快速操作和重构。

    将直接显示快速操作建议。

常见快速操作​

常见的快速操作包括以下:

  • 生成方法
  • 生成字段/属性/本地
  • 为 IComparable 生成比较运算符
  • 生成解构函数
  • 为结构生成 IEquatable 运算符
  • 添加调试器显示属性
  • 添加显式强制转换
  • 将参数添加到方法
  • 生成参数
  • 生成替代
  • 生成 Equals 和 GetHashCode 方法替代
  • 生成 using
  • 实现抽象类
  • 实现接口
  • 引入局部变量

删除未使用的 Using 并排序​

右键点击代码然后选择 删除未使用的 Using 并排序 可以在当前文件中删除所有未使用的 using 指令并且将现有的 using 指令按字母顺序排序。

重构代码​

重构代码指的是在不改变代码行为的基础上修改代码使得代码更易维护、理解和扩展。

重命名​

允许您重命名代码符号的标识符,例如命名空间、局部变量、类型、方法、属性等。您可以安全地重命名而不必找到所有实例并复制/粘贴新名称。

要使用此功能,请将插入点放在标识符上,然后右键点击并选择 重命名。在弹出的对话框中输入新的名字,您还可以选择是否更新注释和字符串中的名字。点击 应用 链接或直接按回车。新名字将会自动同步到所有相关代码和引用。

提取接口​

提取接口指的是您可以将接口、结构或类的现有成员提取成为一个接口。如果类、结构或接口中的成员会被其他类、结构或接口继承,则建议使用此功能。

想要使用此功能:

  1. 将光标放在类名中,右键点击并选择 快速操作和重构 > 提取接口...。

  2. 在弹出的 提取接口 对话框中输入必要的信息。

  3. 点击 确定。接口文件将自动生成。

常见重构代码​

常见的重构代码包括以下:

  • 将匿名类型转换为类
  • 将匿名类型转换为元组
  • 在自动属性和完整属性之间转换
  • 在 for 循环和 foreach 语句之间进行转换
  • 在 Get 方法和属性之间进行转换
  • 在常规字符串和逐字字符串文本之间转换
  • 将本地函数转换为方法
  • 将 foreach 循环转换为 LINQ
  • 将 if 语句转换为 switch 语句或 switch 表达式
  • 将 LINQ 查询转换为 foreach 语句
  • 将 typeof 转换为 nameof
  • 将 Switch 语句转换为 Switch 表达式
  • DateTime 和 TimeSpan 完成
  • 封装字段
  • 提取接口
  • 内联方法
  • 内联临时变量
  • CodeAssist 完成未导入类型和扩展方法
  • 反转条件表达式和逻辑运算
  • 反转 if 语句
  • 将类变为抽象
  • 将成员设为静态成员
  • 将声明移至引用附近
  • 将类型移到匹配的文件
  • 将类型移到命名空间
  • 拉取成员
  • 通过 CodeAssist 完成正则表达式
  • 删除无法访问的代码
  • 重命名
  • 简化条件表达式
  • 简化 LINQ 表达式
  • 简化字符串内插
  • 对 using 排序
  • Split 或 merge if 语句
  • 静态本地函数重构选项
  • 同步类型和文件名
  • 使用显式类型
  • 使用 lambda 表达式或程序块主体
  • 使用 new()
  • 使用模式匹配
  • 未使用的值分配、变量和参数
  • 自动换行、缩进和对齐重构

在代码中设置书签​

您可以使用书签来标记编辑器中的代码行,这样您可以快速地定位到某代码行,或者在不同的代码行之间进行跳转。您可以通过书签工具栏来插入/删除书签或者在多个书签中跳转。

要添加书签,请将光标放在要添加书签的代码行上,从工具栏中选择 切换书签 图标。书签被插入。左边距栏中将显示一个书签图标。如果这时您再次选择 切换书签 图标,书签将被删除。

当您插入了多个书签以后,您可以通过工具栏的 上一个书签 和 下一个书签 图标在书签之中快速跳转。当不再需要这些书签时,您可以通过工具栏的 清除所有书签 图标来删除所有书签。

预览 Web 应用​

对于 Web 应用 类型的项目,您可以在 HTML 文件编辑器中右键点击然后选择 Web 预览窗口 来在 Web 浏览器中预览 HTML 文件。

拆分编辑器窗口​

注意:暂不提供 拆分编辑器窗口 功能。

代码编辑窗口允许上下拆分,实现分屏显示。当一个文件的代码行比较多时,上下滚动代码行来修改或对比代码比较费时费神。利用窗口上下拆分功能,可以在两个窗口中同时编辑一个文件,大大提高编程效率。

要上下拆分窗口,请将鼠标移动到代码导航栏的最右边的拆分图标()上,然后点击并向下拖动鼠标。这时窗口被一分为二。

要想合并窗口,请将鼠标移动到两个窗口边界衔接的地方,然后点击并向下或向上拖动鼠标,直到两个窗口重叠。

在代码中移动​

向后和向前导航​

您可以通过按 Ctrl + “-” 将光标移动到之前的位置,或者通过按 Ctrl + Shift + “-” 从之前的位置返回到最近的位置。

向前/向后移动的最大次数为20。

使用导航栏​

导航栏允许您在代码库中进行导航。

您可以使用导航栏上的下拉框进行导航:

  • 左侧下拉菜单允许您导航到当前解决方案中引用了当前项目的其他项目。比如一个共享项目有一个类 A,另一个控制台应用 B 和类库项目 C 都引用了这个共享项目,此时导航到类 A 时可以选择项目 B 和项目 C。
  • 中间的下拉菜单允许您导航到当前文件中的类或类型。
  • 右侧下拉菜单允许您直接导航到方法或类的其他成员。

查找所有引用​

查找所有引用允许您查看代码库中引用元素的所有位置。要查找元素的所有引用,请选择该元素,然后按 Shift + F12 或从右键菜单中选择 查找所有引用。

此时,会出现一个 元素名引用 的工具窗口(元素 是所选元素的名称),列举了所有的引用。您可以双击列表中的引用打开对应的文件。

工具窗口的工具栏提供了以下功能:

  • 选择查找范围:整个解决方案、当前项目、当前文档、已更改的文档、打开的文档。
  • 如果查找到的引用太多,您还可以将引用按不同的分组来展示。

跳转到代码​

跳转到定义:

  1. 将光标放在某个元素上。

  2. 右键点击该元素,然后选择 跳转到定义。光标将会自动跳转到相应的代码行。

跳转到实现:

  1. 将光标放在某个基类或类型上。

  2. 从右键菜单中选择 跳转到实现。光标将会自动跳转到相应的代码行。

跳转到基类:

  1. 将光标放在某个元素上。

  2. 从右键菜单中选择 跳转到基类。代码编辑器底部将显示对应的基类窗口,您可以选择双击打开代码文件。

引用高亮显示​

当您在代码编辑器中点击一个代码元素时,该元素的所有实例将高亮显示。引用高亮颜色可以修改(请选择菜单 工具 > 选项,在 选项 窗口中,选择 文本编辑器 > 字体和颜色,在 显示项 列表框中,选择 分隔符匹配)。

改进您的代码​

在 SnapDevelop 中编写完代码后,您需要确定您的代码是否能够正常工作。SnapDevelop 提供了一套集成的项目编译、调试和测试工具,可用于检测代码中的问题。

与大多数其他 IDE 一样,SnapDevelop 分两个不同的阶段测试您的代码:

  1. 编译代码 -- 捕获并修复项目和编译器错误。
  2. 运行代码 -- 检测运行时错误。

编译您的代码​

SnapDevelop 支持两种基本类型的生成配置:调试 和 发布,并使用 调试 作为默认生成配置。

要生成整个解决方案,只需选择菜单 编译 > 编译解决方案(或按 Ctrl + Shift + B)。

要编译解决方案中的某个项目,首先将该项目设置为启动项目,然后选择 编译 > 编译项目 (项目 是指定启动项目的名称)。

您可以 IDE 底部的 输出 窗口中查看编译过程,在 错误列表 窗口中查看错误和警告。如果发生任何错误或警告数量超过指定级别,您的生成将失败。在这种情况下,您需要解决错误,然后重新生成您的解决方案/项目。

解决错误​

在编写代码时,您可以通过代码编辑器的左下角查看错误和警告的数量,以及通过导航按钮来查看引起这些错误和警告的代码。

在编译解决方案或项目时,如果遇到错误或警告,请到 IDE 底部的 错误列表 窗口查看。双击 错误列表 窗口中的错误以跳转到相应的代码中。

您会注意到错误代码会标有红色波浪下划线,将鼠标悬停在其上可查看错误详细信息,并可根据详细信息尝试纠正错误。

使用快速操作修复或重构代码​

您可以使用 快速操作 来修复错误或重构代码。有关如何使用 快速操作 的详细信息,请参阅 编写和重构代码。

调试​

有关如何在 SnapDevelop 中调试代码的详细信息,请参阅 调试代码。

单元测试​

有关如何在 SnapDevelop 中对代码运行单元测试的详细信息,请参阅 单元测试。

使用AI编程助手​

SnapDevelop 内嵌 AI 编程助手,AI 编程助手将会通过 API 密钥和配置的 AI 驱动来处理您的请求,并提供相应的编程协助。以下是设置和使用 AI 编程助手的步骤。

准备工作​

由于 AI 编程助手依赖于 AI 驱动,您需要在相关平台注册并登录,以取得 API 密钥。目前支持以下几种主流AI模型供应商,您可根据需求选择配置使用:

  • OpenAl:国际领先的AI技术公司,提供如 GPT-3.5、GPT-4 等先进语言模型。
  • 深度求索:国内新锐AI厂商,提供强大的中文编程理解与生成能力。
  • 通义千问:阿里云旗下大模型,擅长中文语义处理和企业级应用支持。
  • 豆包:字节跳动推出的大模型,聚焦多场景问答和生成内容质量。
  • KimiAI:北京月之暗面(Moonshot AI)开发的国产智能助手,国产大模型中的“长文本专家”,擅长海量信息处理与高效办公协作。

下面以 OpenAI 为例说明如何获取API秘钥(其他供应商类似)。

  1. 注册和登录

    访问 https://www.openai.com,在 OpenAI 平台上注册并登录。如果您已经是注册用户,请直接登录。

  2. 获取 API 密钥

    为了使用 AI 编程助手,您需要获取一个 API 密钥。请按照以下步骤获取 API 密钥:

    1. 登录到您的账户
    2. 转至 设置 或类似的页面
    3. 在 API访问 或 密钥管理 部分创建一个新的 API 密钥
    4. 复制生成的 API 密钥并保存在安全的地方

AI供应商配置​

您必须至少配置一种模型供应商才能正常使用AI功能。

下面以配置 OpenAI 模型供应商为例进行说明(其他模型供应商类似):

  1. 访问 SnapDevelop 菜单项:工具 > AI 助手 > AI 供应商配置。

    image-20250701141027040

  2. 点击 +添加。

  3. 从 类型 下拉列表中选择一种模型供应商,例如:OpenAI。

  4. 在 API秘钥 文本框中输入您从 OpenAI 平台取得的秘钥。

  5. 选择您希望使用的 AI模型:gpt-5、gpt-4.1 或者 gpt-3.5。

    image-20250627104924057

  6. 点击 确定 按钮保存配置。或者点击 取消 清除本次输入并退出页面。

AI智能体配置​

提供智能体、工具库的管理。目前工具只提供内置工具,后续版本提供 MCP 工具后,您也可在此处管理工具。

  1. 智能体

    可以简单理解为 “模型+工具”。 智能体是具备感知、决策和行动能力的自主系统。可以根据生成的内容决定工具调用。

    目前只提供 聊天智能体,用于聊天界面选择的智能体,聊天智能体可以启用会话建议,让AI主动为你提供下一步对话方向或提问提示的功能,帮助你更好地继续提问。

  2. 工具库

    让大模型自动理解何时、如何调用开发者指定的函数/接口,把语言理解与代码/应用处理相结合。

    场景:

    用户:帮我生成一个用户实体,并保存到当前项目

    AI:

    1. 生成输出用户实体
    2. 调用工具-查询当前项目路径
    3. 调用工具-写入用户实体至项目路径之下

智能体​

以下是配置智能体步骤:

  1. 访问菜单项:工具 > AI 助手 > AI智能体配置。

  2. 在 AI智能体配置 窗口中的 智能体 类别中点击 +添加。

    image-20251219142119636

    您可以在当前设计页面中设计智能体的头像、名称、参数、提示词、工具等。

    头像与名称:您可以为智能体选择头像,我们提供了一些预设头像,您也可以选择上传图片。

    启用会话建议:您开启该选项后,AI会主动为你提供下一步对话方向或提问提示的功能。它不是修改回答内容,而是帮助你更好地继续提问。

    参数

    温度:越低,模型越冷静;越高,模型越有想象力。

    Top P:AI生成文本时会归类大量的词语来选择回复,那也会有最符合、较符合等等级划分。Top P 越低,模型选择的词范围就会越小,反之范围越大。

    存在惩罚:让AI生成文本时尽量避免重复提到的词语或概念。越高越不会重复,反之不在意是否重复。

    频率惩罚:让AI生成时避免重复一个词的频率。越高频率越低,反之同一个词会出现的比较频繁。

    最大标记:限制模型回复的上下文长度。

    种子:让AI生成结果具有“可控性”。在同样的模型、同样的提示词、同样的种子数下,可以验证生成的内容是否一致,以此来调整提示词或者其他参数。

    回复格式:JSON格式在某些模型中要求出现JSON的字符或者JSON格式的Token。

    另外提供了三种预设参数:创意、平衡、精确。可以点击 加载预设 进行选择使用。

    image-20250701145326476

    提示词:用来引导AI模型生成预期内容、行为或答案的输入文本或指令。您可在当前字段中配置智能体的系统提示词。

    image-20250627111039764

    当前版本还提供了提示词生成器(点击提示词窗口右上角的 生成 按钮打开提示词生成器)。您可以通过自然语言去生成符合相应的提示词。

    image-20250627111904819

工具库​

工具库 是智能体中的重要概念,让AI调用程序来交互。

在AI智能体配置中有一栏工具库,该工具库展示了我们提供的内置工具。另外,在工具右侧添加按钮中, 可为当前聊天智能体选择合适的工具来实现需求。

image-20251219141252580

选择工具后,我们可以为工具的执行方式选择策略:

  • 自动:模型自行判断是否调用工具。
  • 严格:强制模型从提供的工具中选中一个或多个进行调用。
  • 从不:不调用任何一个工具。

image-20250627112315634

AI助手​

可以通过以下两种方式打开 AI 聊天窗口:

  1. 通过点击菜单项:工具 > AI 助手 > AI 助手。

  2. 通过点击 IDE 窗口右上角的 AI助手 图标(image-20250701155853666)。

会话窗口提供了以下几种功能:添加上下文,选择模型供应商、选择智能体、发送/暂停、新建会话、历史记录。

image-20251219142357068

添加上下文​

充分提供相关上下文对于提升 AI 的分析准确性至关重要。上下文越完整、越贴合实际,AI 输出的建议就会越精准和可靠。

为此,SnapDevelop 的 Al助手 支持多种上下文来源,开发者可根据实际需求选择合适方式提交信息,以便获得更具针对性的分析与建议。

  • 项目文件 -- 将项目文件作为上下文提供时,AI能够基于整体项目结构进行分析。例如控制器、模型、配置文件以及依赖项都可以纳入参考。此方式适用于架构审查、层次结构优化、命名规范建议、依赖冲突排查等全局性问题。
  • 错误列表 -- 通过提供错误列表,AI可以精确定位编译错误及警告信息,并结合代码上下文建议可能的修复方案。该方式特别适用于诊断缺失引用、命名空间错误、类型不匹配、依赖注入失败等编译阶段的问题。
  • 当前激活文档 -- 选择当前激活文档时,AI将专注于分析当前打开的代码文件,例如控制器方法、DTO、配置段落等。此方式适用于进行局部优化,包括逻辑改写、异常处理改进、命名调整、权限标注、注释增强等细粒度修改。
  • 添加其他附件 -- 该方式允许用户上传额外资料作为上下文,如SQL语句、REST API规范、数据库脚本、部署配置或错误截图等。它适用于跨系统集成、数据库建模、API设计、迁移场景处理,以及定位与运行环境相关的问题。

下面以 错误列表 为例,介绍如何利用AI及上下文解决异常诊断:

img

选择模型供应商​

您可以从已配置的模型供应商中选择一个进行会话。

如还未配置模型供应商,可以点击”速使用AI编程助手? 轻松配置”,将弹出简易配置模型供应商界面。您只需输入API密钥即可快速使用模型供应商进行会话。

image-20250627155923862

选择会话模式​

您可以从已配置的聊天智能体中选择一个进行会话,或者选择以下内置会话模式:

  • 问答模式 -- 适用于咨询技术问题、理解框架概念、排查项目错误,以及获取架构与实现建议。在该模式下,AI可根据需求提供传统编码示例或低代码配置说明,用于辅助理解SnapDevelop的开发方式。
  • 开发模式 -- 适用于直接生成项目内容,例如控制器、实体模型、数据访问层、业务逻辑或API配置。AI将结合上下文自动输出传统代码或低代码方案,以加速SnapDevelop项目开发。

智能体配置工具后在对话中使用​

聊天智能体中配置工具后,可以在对话中使用。

场景: 把代码写入到当前项目中。

在聊天智能体中添加以下两个工具: 1. 获取当前选中的项目;2. 写入文件

image-20250627162428255

结果:

image-20250627162502738

示例​

以下通过一个 ”传统编码” 项目 ”Snap.eShop” 演示AI开发流程:

image-20251222091201293

输入需求:“我需要设计一个电子产品相关的进销存管理系统”,AI在结合项目分析完成后开始编写项目。

image-20251222091215087

当遇上命令行或者删除文件等含有风险的操作时,需要用户确认是否执行,用户可以每次审批,也可以不再审批。该选项可以在AI设置中启用或关闭。

image-20251222091227399

经过AI的思考与执行后,一个完整的项目被编写出来:

image-20251222091234820

编译并启动后,输入api测试地址:

image-20251222091243417

通过右键菜单使用AI编程助手​

代码编辑器的右键菜单中提供了访问AI编程助手的快捷方式。您可以选中某段代码,或者将光标放置在合适位置后,点击右键菜单,即可看到AI编程助手的选项。

提示编码​

建议您将光标放置在合适位置后再右键选择 AI编程助手 > 提示编码... 功能。您可以在弹出的提示框中输入特定的编码要求,AI编程助手结合根据上下文为您提供对应的代码建议。

例如,您在提示框中选择一个模型供应商配置,然后输入如下编码要求:添加一个日期过滤器,日期字段DateTime。

image-20250627164230418

AI编程助手将插入如下代码片段至光标位置。为确保代码的正确性,请务必检查并进行必要的调整。

解释代码​

AI编程助手可根据要求解释该段代码的功能,例如,解释选中代码中每个函数的用途、每个参数的意义。请了解,AI编程助手提供的解释仅供参考,请根据实际项目情况和个人经验进行判断和调整。

您可以选中某段代码,右键选择 AI编程助手 > 解释代码...,AI编程助手便在会话框中提供相应的解释。

添加代码注释​

AI编程助手可以根据代码自动生成注释,包括函数说明、参数描述、返回值描述等,帮助您更好地维护代码。您可以选中某段代码,右键选择 AI编程助手 > 添加代码注释..., 如下图所示:

AI编程助手便在会话框中提供添加了注释的代码片段。如果添加的注释满足要求,您可以点击片段上方的 接受 按钮,将添加了注释的代码替换原来的代码。

诊断和建议​

AI编程助手可以检测代码中的错误,包括语法错误、逻辑错误、潜在的运行时错误等,并提供修复建议。您可以选中某段代码,右键选择 AI编程助手 > 诊断和建议...,如下图所示:

AI编程助手将提供如下的诊断建议供您参考:

更多帮助​

关于低代码项目(表达式构建、自定义函数、正则表达式、自定义数据结构、重构实体等)场景中使用 AI 助手 的说明,请参考:AI 助手使用指南。