mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-21 17:27:54 +00:00
feat(vscode-ide-companion): import chat chat customEditor to vscode extension folder
This commit is contained in:
34
packages/vscode-ide-companion/src/webview/hooks/useVSCode.ts
Normal file
34
packages/vscode-ide-companion/src/webview/hooks/useVSCode.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2025 Qwen Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
import { useMemo } from 'react';
|
||||
|
||||
export interface VSCodeAPI {
|
||||
postMessage: (message: unknown) => void;
|
||||
getState: () => unknown;
|
||||
setState: (state: unknown) => void;
|
||||
}
|
||||
|
||||
declare const acquireVsCodeApi: () => VSCodeAPI;
|
||||
|
||||
export function useVSCode(): VSCodeAPI {
|
||||
return useMemo(() => {
|
||||
if (typeof acquireVsCodeApi !== 'undefined') {
|
||||
return acquireVsCodeApi();
|
||||
}
|
||||
|
||||
// Fallback for development/testing
|
||||
return {
|
||||
postMessage: (message: unknown) => {
|
||||
console.log('Mock postMessage:', message);
|
||||
},
|
||||
getState: () => ({}),
|
||||
setState: (state: unknown) => {
|
||||
console.log('Mock setState:', state);
|
||||
},
|
||||
};
|
||||
}, []);
|
||||
}
|
||||
Reference in New Issue
Block a user