# vscode 插件开发
# 环境准备
npm install -g yo generator-code
# 创建 hello world
yo code
# package 相关配置
{
  "commands": [
    {
      // 注册的命令
      "command": "extension.createTemplate",
      // 标题
      "title": "生成文件"
    }
  ],
  "menus": {
    // vscode左边的资源管理器右键出来
    "explorer/context": [
      {
        "command": "extension.createTemplate",
        // 配置在右键菜单中的位置
        "group": "navigation"
      }
    ]
  }
}
# 底部信息展示条
let pclintBar = vscode.window.createStatusBarItem();
pclintBar.text = `目标文件夹:${dirPath}`;
pclintBar.show();
pclintBar.hide();
pclintBar.dispose();
# 选择文件夹
vscode.window
  .showOpenDialog({
    // 是否选择文件夹
    canSelectFolders: true,
    // 是否选择文件
    canSelectFiles: false,
    // 是否选择多个
    canSelectMany: false,
    title: "选择模板文件夹",
  })
  .then((path) => {
    console.log(path);
  });
# input 输入
const nameVal = await vscode.window.showInputBox({
  placeHolder: "提示文字",
});
# 工作区路径
vscode.workspace.rootPath;
# message 提示
vscode.window.showInformationMessage("生成成功!");
# 当前编辑器选中的内容
import * as vscode from "vscode";
// 激活的tab
const editor: vscode.TextEditor | undefined = vscode.window.activeTextEditor;
// 获取提取的内容
const selectionText = editor?.document.getText(editor?.selection);
# 插件发布
vsce login
vsce publish
# 更新
vsce publish patch
# 打印 dom 对象
console.log('%O', ref.current)
自动部署 →
