mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-20 08:47:44 +00:00
Add support for VSCode-like editors (#5699)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
This commit is contained in:
@@ -6,12 +6,33 @@
|
||||
|
||||
export enum DetectedIde {
|
||||
VSCode = 'vscode',
|
||||
VSCodium = 'vscodium',
|
||||
Cursor = 'cursor',
|
||||
CloudShell = 'cloudshell',
|
||||
Codespaces = 'codespaces',
|
||||
Windsurf = 'windsurf',
|
||||
FirebaseStudio = 'firebasestudio',
|
||||
Trae = 'trae',
|
||||
}
|
||||
|
||||
export function getIdeDisplayName(ide: DetectedIde): string {
|
||||
switch (ide) {
|
||||
case DetectedIde.VSCode:
|
||||
return 'VS Code';
|
||||
case DetectedIde.VSCodium:
|
||||
return 'VSCodium';
|
||||
case DetectedIde.Cursor:
|
||||
return 'Cursor';
|
||||
case DetectedIde.CloudShell:
|
||||
return 'Cloud Shell';
|
||||
case DetectedIde.Codespaces:
|
||||
return 'GitHub Codespaces';
|
||||
case DetectedIde.Windsurf:
|
||||
return 'Windsurf';
|
||||
case DetectedIde.FirebaseStudio:
|
||||
return 'Firebase Studio';
|
||||
case DetectedIde.Trae:
|
||||
return 'Trae';
|
||||
default: {
|
||||
// This ensures that if a new IDE is added to the enum, we get a compile-time error.
|
||||
const exhaustiveCheck: never = ide;
|
||||
@@ -21,8 +42,24 @@ export function getIdeDisplayName(ide: DetectedIde): string {
|
||||
}
|
||||
|
||||
export function detectIde(): DetectedIde | undefined {
|
||||
if (process.env.TERM_PROGRAM === 'vscode') {
|
||||
return DetectedIde.VSCode;
|
||||
// Only VSCode-based integrations are currently supported.
|
||||
if (process.env.TERM_PROGRAM !== 'vscode') {
|
||||
return undefined;
|
||||
}
|
||||
return undefined;
|
||||
if (process.env.CURSOR_TRACE_ID) {
|
||||
return DetectedIde.Cursor;
|
||||
}
|
||||
if (process.env.CODESPACES) {
|
||||
return DetectedIde.Codespaces;
|
||||
}
|
||||
if (process.env.EDITOR_IN_CLOUD_SHELL) {
|
||||
return DetectedIde.CloudShell;
|
||||
}
|
||||
if (process.env.TERM_PRODUCT === 'Trae') {
|
||||
return DetectedIde.Trae;
|
||||
}
|
||||
if (process.env.FIREBASE_DEPLOY_AGENT) {
|
||||
return DetectedIde.FirebaseStudio;
|
||||
}
|
||||
return DetectedIde.VSCode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user