当前位置: 首页 > 知识库问答 >
问题:

javascript - VSCode插件开发,onDidChangeActiveTextEditor和onDidOpenTextDocument不触发问题如何解决?

耿俊
2023-11-30

通过ai问答vscode,实现打开文件后触发和切换标签页触发弹出消息框,根据ai提供的代码编写,但是没有达到期望效果,期望效果是vscode打开文件后,切换标签,弹出消息框,显示设置的内容

初次进行vscode 插件开发尝试,先从实现打开文件后触发和切换标签页触发弹出消息框开始,通过chat的ai问答得知可以通过onDidChangeActiveTextEditor和onDidOpenTextDocument分别做到标签页切换和打开文件后进行触发

extension代码如下

// The module 'vscode' contains the VS Code extensibility API// Import the module and reference it with the alias vscode in your code belowconst vscode = require('vscode');// This method is called when your extension is activated// Your extension is activated the very first time the command is executed/** * @param {vscode.ExtensionContext} context */function activate(context) {    //切换标签页    let disposable1 = vscode.window.onDidChangeActiveTextEditor((editor) => {        if (editor) {            vscode.window.showInformationMessage('Tab switched!');        }    });    let disposable2 = vscode.workspace.onDidOpenTextDocument((document) => {        vscode.window.showInformationMessage('File opened!');    });    context.subscriptions.push(disposable1, disposable2);}// This method is called when your extension is deactivatedfunction deactivate() {}module.exports = {    activate,    deactivate}

package.json文件部分内容

"activationEvents": [    "onDidChangeActiveTextEditor",    "onDidOpenTextDocument"  ],

运行测试,没有效果,切换标签页和打开文件后没有出现消息框弹出,这个是怎么回事?是哪里没配置对?

共有1个答案

羊舌富
2023-11-30

别太信任AI, 直接看文档:https://code.visualstudio.com/api/references/activation-events

activationEvents没有这两个事件:

"activationEvents": [    "onDidChangeActiveTextEditor",    "onDidOpenTextDocument"  ],

直接:

    "activationEvents": [        "*"    ],
 类似资料:
  • 本文向大家介绍vscode extension插件开发详解,包括了vscode extension插件开发详解的使用技巧和注意事项,需要的朋友参考一下 最近公司要使用vscode作为开发工具,需要对vscode做一些定制功能,比如snippet提示,内容提示,以及其他插件集成等,为此做了一些调查,并做了一定的开发与支持。 官方文档 https://code.visualstudio.com/doc

  • 使用了pre-commit这个库,想在commit之前检查文件,结果git commit之后,脚本根本不执行,请问是什么原因? "pre-commit" 配置的 ["echo", "check"] 未触发 package.json配置

  • 第一次调用时,激发一次 第二次调用时,会激发两次 等等 编辑: 下面是一个jsfiddle示例(如下所示)。 要复制,请单击按钮,然后单击,然后单击一个并重复此过程 您将注意到,第二次执行该过程时,文本会加倍

  • 我面临QuartzScheduler触发器定义的问题。 2019年2月28日星期四16:27:30 IST:开始时间 0/20 0 0 ? * * * Cron表达式 2019年2月28日星期四16:29:30 IST结束时间 触发器schedulerAdderTrigger=触发器生成器。newTrigger()。withIdentity(触发键)。startAt(schedulerdata.g

  • 问题内容: 我的页面上有一个超链接。我正在尝试自动执行对超链接的多次单击,以进行测试。有什么方法可以使用JavaScript模拟超链接的50次点击? 我正在寻找JavaScript中的onClick事件触发器。 问题答案: 单击HTML元素: 只需执行。大多数主流浏览器都支持此功能。 要多次重复单击: 将ID添加到元素以唯一地选择它: 并通过for循环在JavaScript代码中调用该方法:

  • 问题内容: 我已使用将事件附加到文本框。它工作正常。当我想通过另一个函数以编程方式触发事件时,出现了我的问题。 我该怎么做? 问题答案: 您可以在IE 8或更低版本上使用fireEvent,在大多数。要创建您要触发的事件,可以使用或取决于浏览器。 这是一段不言自明的代码(来自原型),它在上触发事件: