You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VSCode扩展仅在手动调用灯泡代码动作建议时返回代码动作

仅在手动触发VSCode代码动作时返回建议

要实现仅在用户手动调用「灯泡」代码动作建议时返回代码片段,可通过以下方式处理:

  • 识别手动触发条件:当用户手动触发代码动作时,context.only数组会包含vscode.CodeActionKind.Empty,这是VSCode用于标记主动触发所有代码动作请求的特殊类型。
  • 使用数组标准方法判断:context.only是CodeActionKind数组,直接用数组的includes方法判断是否包含目标类型即可。

修改后的代码示例:

import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
    context.subscriptions.push(vscode.languages.registerCodeActionsProvider('python', {
        provideCodeActions: async (document, range, context, token) => {
            // 仅在手动触发时执行后续逻辑
            if (!context.only?.includes(vscode.CodeActionKind.Empty)) {
                return [];
            }
            
            const action = await suggestfix(document, range, context);
            return action ? [action] : [];
        },
    }));
};

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:55:34