Add language support for DevChat interface
This commit is contained in:
parent
b1dd28c934
commit
9e6eeef721
10
package.json
10
package.json
@ -551,6 +551,16 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "",
|
"default": "",
|
||||||
"description": "Path to the Python virtual environment for AskCode."
|
"description": "Path to the Python virtual environment for AskCode."
|
||||||
|
},
|
||||||
|
"DevChat.Language": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "en",
|
||||||
|
"enum": ["en", "zh-cn"],
|
||||||
|
"enumDescriptions": [
|
||||||
|
"English",
|
||||||
|
"Simplified Chinese"
|
||||||
|
],
|
||||||
|
"description": "The language used for DevChat interface."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -15,6 +15,7 @@ import { getSetting, updateSetting } from './userSettingHandler';
|
|||||||
import { featureToggle, getFeatureToggles } from './featureToggleHandler';
|
import { featureToggle, getFeatureToggles } from './featureToggleHandler';
|
||||||
import { getUserAccessKey } from './accessKeyHandler';
|
import { getUserAccessKey } from './accessKeyHandler';
|
||||||
import { getValidLlmModelList } from './llmModelHandler';
|
import { getValidLlmModelList } from './llmModelHandler';
|
||||||
|
import { getIdeLanguage } from './langHandler';
|
||||||
|
|
||||||
|
|
||||||
// According to the context menu selected by the user, add the corresponding context file
|
// According to the context menu selected by the user, add the corresponding context file
|
||||||
@ -78,3 +79,5 @@ messageHandler.registerHandler('getUserAccessKey', getUserAccessKey);
|
|||||||
messageHandler.registerHandler('regModelList', getValidLlmModelList);
|
messageHandler.registerHandler('regModelList', getValidLlmModelList);
|
||||||
|
|
||||||
messageHandler.registerHandler('userInput', userInput);
|
messageHandler.registerHandler('userInput', userInput);
|
||||||
|
|
||||||
|
messageHandler.registerHandler('getIdeLanguage', getIdeLanguage);
|
||||||
|
22
src/handler/langHandler.ts
Normal file
22
src/handler/langHandler.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import * as vscode from 'vscode';
|
||||||
|
import { regInMessage, regOutMessage } from '../util/reg_messages'; // Ensure these functions are imported
|
||||||
|
import { MessageHandler } from './messageHandler';
|
||||||
|
|
||||||
|
// Register the incoming and outgoing messages for the 'getIdeLanguage' command
|
||||||
|
regInMessage({ command: 'getIdeLanguage' });
|
||||||
|
regOutMessage({ command: 'ideLanguage', lang: "" }); // Placeholder for the lang property
|
||||||
|
// Implement the handler function to get the current IDE language setting
|
||||||
|
export async function getIdeLanguage(panel: vscode.WebviewPanel | vscode.WebviewView): Promise<void> {
|
||||||
|
// Get the current IDE language setting
|
||||||
|
const ideLanguage = vscode.env.language;
|
||||||
|
// 'en' stands for English, 'zh-cn' stands for Simplified Chinese
|
||||||
|
|
||||||
|
// Construct the message with the language information
|
||||||
|
const langMessage = {
|
||||||
|
"command": "ideLanguage",
|
||||||
|
"lang": ideLanguage
|
||||||
|
};
|
||||||
|
|
||||||
|
// Send the message to the webview panel or view
|
||||||
|
MessageHandler.sendMessage(panel, langMessage);
|
||||||
|
}
|
@ -33,8 +33,8 @@ const functionRegistry: any = {
|
|||||||
"/ide_language": {
|
"/ide_language": {
|
||||||
"keys": [],
|
"keys": [],
|
||||||
"handler": async () => {
|
"handler": async () => {
|
||||||
const config = vscode.workspace.getConfiguration();
|
const language = vscode.env.language;
|
||||||
const language = config.get('workbench.editor.languageDetection') ? vscode.env.language : config.get('window.menuBarVisibility');
|
// 'en' stands for English, 'zh-cn' stands for Simplified Chinese
|
||||||
return language;
|
return language;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user