VS Code 弹窗 / 对话框功能完全说明

VS Code 本身没有 msgbox(VBS/VB)、alert(浏览器 JS)这种原生关键字,但自带完整的对话框 API,能实现:提示框、确认框、输入框、选择框、错误框等所有弹窗功能,专门用于 VS Code 插件开发


一、最常用的 4 种对话框(直接复制可用)

这些是 VS Code 官方 window API,插件开发必用

1. 普通提示框(类似 alert)

import * as vscode from 'vscode';

// 简单提示框
vscode.window.showInformationMessage('操作成功!');

2. 错误提示框

vscode.window.showErrorMessage('文件保存失败!');

3. 警告提示框

vscode.window.showWarningMessage('此操作不可逆,请谨慎!');

4. 确认对话框(类似 confirm)

带 确定 / 取消 按钮,可获取用户选择

typescript

运行

// 异步函数,必须加 await
async function showConfirm() {
  // 第一个参数:提示文字
  // 后面参数:按钮文字
  const result = await vscode.window.showWarningMessage(
    '确定要删除这个文件吗?',
    '确定', '取消'
  );

  // 判断用户点击了哪个按钮
  if (result === '确定') {
    console.log('用户确认删除');
  } else {
    console.log('用户取消操作');
  }
}

// 调用
showConfirm();

二、进阶对话框(输入框、下拉选择)

1. 输入框(类似 prompt)

const input = await vscode.window.showInputBox({
  prompt: '请输入文件名',
  placeHolder: '例如:test.js',
  value: ''
});

if (input) {
  console.log('用户输入:', input);
}

2. 下拉选择框

const choices = ['选项1', '选项2', '选项3'];
const pick = await vscode.window.showQuickPick(choices);

if (pick) {
  console.log('用户选择:', pick);
}

三、重要区分(你可能混淆的场景)

✅ 可以用的情况

VS Code 插件开发extension.js/extension.ts)→ 必须用上面的 vscode.window API

❌ 不能用的情况

  1. 普通 JS/HTML 文件(在编辑器里直接运行)VS Code 不是浏览器 / VB 环境,没有 alert/msgbox
  2. 非插件场景只是写代码,不是开发插件 → 用不了 VS Code 专属 API
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐