TV

typefox/vscode-messenger

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

61 stars Качество 60 Тренд 21MIT

Библиотека сообщений RPC для платформы расширения VS Code

Обзор

Библиотека сообщений RPC для платформы расширения VS Code. Упрощает связь между расширением VS-кода и его веб-просмотрами. Отправлять уведомления или запросы от , , или ко всем зарегистрированным просмотрам - Отправлять уведомления или запросы от , группы просмотра или расширения хоста - - RequestType and Notification Тип обеспечения соответствия параметра и типы результатов с обеих сторон - Обработчики синхронизации и асинхронизации запроса / уведомления - Отмена запроса - Автоматически незарегистрированные взгляды на удаление - Настраиваемая регистрация Сохраните все уведомления Заявления типа / запроса типа в общем модуле TypeScript, импортируемом как расширением, так и веб-просмотром. Один и тот же тип струны и параметра/результата должен совпадать на обоих концах. Messenger.start() должен быть вызван до получения сообщений. Забыв об этом, все входящие сообщения тихо отбрасываются. Когда веб-просмотр является приложением React (например).

Обзор (машинный перевод)

Библиотека сообщений RPC для платформы расширения VS Code. Упрощает связь между расширением VS-кода и его веб-просмотрами.

Особенности

  • Отправлять уведомления или запросы от ** расширения к просмотру **, группе * * просмотра * * или * * широковещательному * * ко всем зарегистрированным просмотрам Отправлять уведомления или запросы с view на другой просмотр, группу просмотра или расширение хоста Typed API — RequestType и NotificationType обеспечивают соответствие параметров и типов результатов с обеих сторон
  • Обработчики синхронизации и асинхронизации запросов/уведомлений
  • Отмена запроса
  • Автоматически незарегистрированные взгляды на утилизацию
  • Настраиваемая рубка

Пакеты

Установите только то, что нужно каждой стороне:

| Установка | Установка | Цель [править править код] | vscode-messenger | Расширение хоста | Messenger класса, регистрация просмотра, диагностический API | vscode-messenger-webview Messenger vscode-messenger-webview createCancellationToken [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]] [[T]]] [[T]]] [[T]] [[T]]] [[T]] [[T]]] [[T]] [[T]]] [[T]] [[T]]] [[T]] [[T]]] [[T]] [[T]]] [[T]] vscode-messenger-common NotificationType, RequestType, HOST_EXTENSION, BROADCAST

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

VS Code Messenger

RPC messaging library for the VS Code extension platform. Makes the communication between your VS Code extension and its webviews much simpler.

Features

  • Send notifications or requests from an extension to a view, a view group, or broadcast to all registered views
  • Send notifications or requests from a view to another view, a view group, or the host extension
  • Typed API — RequestType and NotificationType enforce matching parameter and result types on both sides
  • Sync and async request/notification handlers
  • Request cancellation
  • Automatically unregisters views on dispose
  • Configurable logging

Packages

Install only what each side needs:

Package Install in Purpose
vscode-messenger Extension host Messenger class, view registration, diagnostic API
vscode-messenger-webview Webview script Messenger class for webview, createCancellationToken
vscode-messenger-common Shared module NotificationType, RequestType, HOST_EXTENSION, BROADCAST

Tip: Keep all NotificationType / RequestType declarations in a shared TypeScript module imported by both the extension and the webview. The same method string and parameter/result types must match on both ends.

Usage in an extension (TypeScript)

import * as vscode from 'vscode';
import { Messenger } from 'vscode-messenger';
import { NotificationType, RequestType } from 'vscode-messenger-common';

const messenger = new Messenger();

// Register a webview view (or use registerWebviewPanel for WebviewPanel)
messenger.registerWebviewView(webviewView);

// Define message types — declare once, import on both sides
const colorSelectType: NotificationType = { method: 'colorSelected' };
Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add typefox/vscode-messenger
Новичок в MCP? Начните с руководства на mcpskill.org →