通知

Notifications 显示从VS Code右下角弹出的简要信息。

通知示例

您可以发送三种类型的通知:

为了尊重用户的注意力,限制发送的通知数量非常重要。为了帮助您决定是否应该显示通知,请遵循我们的通知决策树:

如果需要立即进行多步骤用户输入,则显示多步骤快速选择。如果需要立即进行用户输入但不是多步骤的,则显示模态对话框。如果需要显示低优先级的进度,则在状态栏中显示进度。如果交互由用户触发,找到合适的时机显示通知,然后才显示。如果需要显示多个通知,尝试将它们合并为一个。如果用户真的不需要被通知,考虑不显示任何内容并放松。

通知示例

信息通知

此通知在用户运行更新版本命令后出现。请注意,没有额外的操作,纯粹是信息性的。

警告通知

此示例突出了一个需要用户输入的功能问题,并展示了解决问题的操作。

错误通知

此示例显示了一个带有解决该问题操作的通知。

✔️ 做

  • 仅在绝对必要时发送通知,以尊重用户的注意力
  • 为每个通知添加一个不再显示选项
  • 一次显示一个通知

❌ 不要

  • 发送重复通知
  • 用于推广
  • 请求首次安装的反馈
  • 如果没有显示任何操作

进度通知

当需要显示一个不确定时间范围的进度时(例如,设置环境),您可以使用进度通知。这种类型的全局进度通知应作为最后手段使用,因为进度最好保持在上下文中(在视图或编辑器中)。

✔️ 做

  • 显示一个链接以查看更多详细信息(如日志)
  • 显示设置过程中的信息(初始化、构建等)
  • 提供一个操作来取消该操作(如果适用)
  • 为超时场景添加计时器

❌ 不要

  • 保留一个正在进行的通知

进度通知

此示例使用进度通知来显示远程连接所涉及的设置,同时提供指向输出日志的链接(详细信息)。

当你需要立即获取用户输入以执行某个操作时,可以选择显示一个模态对话框。这个UI元素应谨慎使用,因为模态对话框会阻止用户与对话框外的交互,直到它被关闭。

模态对话框

此对话框在移动JavaScript/TypeScript文件后出现,要求更新其他文件中的导入语句。

✔️ 做

  • 仅在需要立即用户交互时使用模态对话框
  • 在适当的情况下,提供一个操作以避免重复的用户确认(总是/从不操作)
  • 考虑使用复选框来记住用户的选择

❌ 不要

  • 使用模态对话框来确认多个步骤
  • 使用模态对话框显示不需要用户操作的消息
  • 显示一个模态对话框,用于用户未明确发起的操作