开发一个VS Code插件,用于转换大小写
一、账户问题1、先有一个Microsoft账户
地址:Microsoft 账户
2、创建一个Azure DevOps组织
地址:aka.ms/SignupAzure…
进入首页后,点击右上角的头像,再点击Personal access tokens,点击New Token按钮,
注意Organization要选择All accessible organizations,Scopes要选择Full access,否则后面发布会失败。
创建成功后:
创建的token需本地保存。
3、创建发布账户
地址:Create Publisher | Visual Studio Marketplace
二、准备开发VS Code插件
可以参考官方文档:code.visualstudio.com/api
1、安装npm install -g yo generator-code复制代码2、创建项目yo code复制代码
生成的项目文件长这样:
3、开发插件
这里编写一个转换大小写的插件Convert Case。主要编辑的内容是src的extension.ts文件。
代码:
import * as vscode from ‘vscode’;export function activate(context: vscode.ExtensionContext) { let toLowerCase = vscode.commands.registerCommand(‘convert-case.toLowerCase’, () => { handleConvertCase(‘toLowerCase’); }); let toUpperCase = vscode.commands.registerCommand(‘convert-case.toUpperCase’, () => { handleConvertCase(‘toUpperCase’); }); context.subscriptions.push(toLowerCase); context.subscriptions.push(toUpperCase);} /** * 大小写转换 * @param command */function handleConvertCase(command: string) { const activeTextEditor = vscode.window.activeTextEditor; if (activeTextEditor) { const document = activeTextEditor.document; const selection = activeTextEditor.selection; const selectedText = document.getText(selection); const newText = command === ‘toLowerCase’ ? selectedText.toLowerCase() : selectedText.toUpperCase(); activeTextEditor.edit((editBuilder) => { editBuilder.replace(selection, newText); }); }}export function deactivate() {}复制代码
再改一下这两块内容:
activationEvents改为*号(因为有多个命令事件),contributes的commands也改为需要的命令内容。
三、publish插件
安装依赖包:
npm install -g @vscode/vsce复制代码
打包:
vsce package复制代码
发布:
vsce publish复制代码
发布成功,在扩展市场可以搜到插件Convert Case:
仓库地址:gitee.com/xian-jin/co…