这篇博客介绍了如何在Visual Studio Code(VSCode)中创建和管理状态栏项。作者展示了如何设置状态栏的位置、优先级、命令、文本和提示,并提供了实时更新状态栏以显示选定行数的函数。当用户选择文本时,状态栏会显示选择的行数,点击则显示信息消息。此外,还详细说明了如何监听编辑器活动和选择变化以保持状态栏的同步更新。
exportfunctionactivate({ subscriptions }: vscode.ExtensionContext){// 命令名称const myCommandId ='sample.showSelectionCount';// 注册命令
subscriptions.push(vscode.commands.registerCommand(myCommandId,()=>{// 从编辑器获取他所选择的行数const n =getNumberOfSelectedLines(vscode.window.activeTextEditor);// 当点击statusBar时执行的反馈操作:返回选择了多少行
vscode.window.showInformationMessage(`Yeah, ${n} line(s) selected... Keep going!`);}));// 创建状态条,第一个参数为位置,第二个参数为优先级
myStatusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right,100);// 为状态条注册命令
myStatusBarItem.command = myCommandId;// 状态条文本显示
myStatusBarItem.text="Nothing is selected!";// 当鼠标放在上面的时候显示的内容
myStatusBarItem.tooltip="statusBar test!";// 添加进去
subscriptions.push(myStatusBarItem);// register some listener that make sure the status bar // item always up-to-date
subscriptions.push(vscode.window.onDidChangeActiveTextEditor(updateStatusBarItem));
subscriptions.push(vscode.window.onDidChangeTextEditorSelection(updateStatusBarItem));// update status bar item once at startupdateStatusBarItem();}