diff --git a/src/core/config/importExport.ts b/src/core/config/importExport.ts index 65638ab95e..6ffbbf7136 100644 --- a/src/core/config/importExport.ts +++ b/src/core/config/importExport.ts @@ -14,7 +14,7 @@ import { ContextProxy } from "./ContextProxy" import { CustomModesManager } from "./CustomModesManager" import { t } from "../../i18n" -type ImportOptions = { +export type ImportOptions = { providerSettingsManager: ProviderSettingsManager contextProxy: ContextProxy customModesManager: CustomModesManager @@ -24,7 +24,6 @@ type ExportOptions = { providerSettingsManager: ProviderSettingsManager contextProxy: ContextProxy } - type ImportWithProviderOptions = ImportOptions & { provider: { settingsImportedAt?: number @@ -33,33 +32,14 @@ type ImportWithProviderOptions = ImportOptions & { } /** - * Import settings from a file using a file dialog - * @param options - Import options containing managers and proxy - * @returns Promise resolving to import result + * Imports configuration from a specific file path + * Shares base functionality for import settings for both the manual + * and automatic settings importing */ -export const importSettings = async ({ providerSettingsManager, contextProxy, customModesManager }: ImportOptions) => { - const uris = await vscode.window.showOpenDialog({ - filters: { JSON: ["json"] }, - canSelectMany: false, - }) - - if (!uris) { - return { success: false, error: "User cancelled file selection" } - } - - return await importSettingsFromFile({ providerSettingsManager, contextProxy, customModesManager }, uris[0]) -} - -/** - * Import settings from a specific file - * @param options - Import options containing managers and proxy - * @param fileUri - URI of the file to import from - * @returns Promise resolving to import result - */ -export const importSettingsFromFile = async ( +export async function importSettingsFromPath( + filePath: string, { providerSettingsManager, contextProxy, customModesManager }: ImportOptions, - fileUri: vscode.Uri, -) => { +) { const schema = z.object({ providerProfiles: providerProfilesSchema, globalSettings: globalSettingsSchema.optional(), @@ -68,8 +48,9 @@ export const importSettingsFromFile = async ( try { const previousProviderProfiles = await providerSettingsManager.export() - const data = JSON.parse(await fs.readFile(fileUri.fsPath, "utf-8")) - const { providerProfiles: newProviderProfiles, globalSettings = {} } = schema.parse(data) + const { providerProfiles: newProviderProfiles, globalSettings = {} } = schema.parse( + JSON.parse(await fs.readFile(filePath, "utf-8")), + ) const providerProfiles = { currentApiConfigName: newProviderProfiles.currentApiConfigName, @@ -119,6 +100,45 @@ export const importSettingsFromFile = async ( } } +/** + * Import settings from a file using a file dialog + * @param options - Import options containing managers and proxy + * @returns Promise resolving to import result + */ +export const importSettings = async ({ providerSettingsManager, contextProxy, customModesManager }: ImportOptions) => { + const uris = await vscode.window.showOpenDialog({ + filters: { JSON: ["json"] }, + canSelectMany: false, + }) + + if (!uris) { + return { success: false, error: "User cancelled file selection" } + } + + return importSettingsFromPath(uris[0].fsPath, { + providerSettingsManager, + contextProxy, + customModesManager, + }) +} + +/** + * Import settings from a specific file + * @param options - Import options containing managers and proxy + * @param fileUri - URI of the file to import from + * @returns Promise resolving to import result + */ +export const importSettingsFromFile = async ( + { providerSettingsManager, contextProxy, customModesManager }: ImportOptions, + fileUri: vscode.Uri, +) => { + return importSettingsFromPath(fileUri.fsPath, { + providerSettingsManager, + contextProxy, + customModesManager, + }) +} + export const exportSettings = async ({ providerSettingsManager, contextProxy }: ExportOptions) => { const uri = await vscode.window.showSaveDialog({ filters: { JSON: ["json"] }, @@ -162,13 +182,13 @@ export const importSettingsWithFeedback = async ( if (filePath) { // Validate file path and check if file exists try { - const fileUri = vscode.Uri.file(filePath) // Check if file exists and is readable - await fs.access(fileUri.fsPath, fs.constants.F_OK | fs.constants.R_OK) - result = await importSettingsFromFile( - { providerSettingsManager, contextProxy, customModesManager }, - fileUri, - ) + await fs.access(filePath, fs.constants.F_OK | fs.constants.R_OK) + result = await importSettingsFromPath(filePath, { + providerSettingsManager, + contextProxy, + customModesManager, + }) } catch (error) { result = { success: false, diff --git a/src/extension.ts b/src/extension.ts index 9e3daad662..bd43bcbf8a 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -28,6 +28,7 @@ import { McpServerManager } from "./services/mcp/McpServerManager" import { CodeIndexManager } from "./services/code-index/manager" import { MdmService } from "./services/mdm/MdmService" import { migrateSettings } from "./utils/migrateSettings" +import { autoImportSettings } from "./utils/autoImportSettings" import { API } from "./extension/api" import { @@ -120,6 +121,19 @@ export async function activate(context: vscode.ExtensionContext) { }), ) + // Auto-import configuration if specified in settings + try { + await autoImportSettings(outputChannel, { + providerSettingsManager: provider.providerSettingsManager, + contextProxy: provider.contextProxy, + customModesManager: provider.customModesManager, + }) + } catch (error) { + outputChannel.appendLine( + `[AutoImport] Error during auto-import: ${error instanceof Error ? error.message : String(error)}`, + ) + } + registerCommands({ context, outputChannel, provider }) /** diff --git a/src/i18n/locales/ca/common.json b/src/i18n/locales/ca/common.json index 8e9f07c100..d98e0326e8 100644 --- a/src/i18n/locales/ca/common.json +++ b/src/i18n/locales/ca/common.json @@ -77,7 +77,8 @@ }, "warnings": { "no_terminal_content": "No s'ha seleccionat contingut de terminal", - "missing_task_files": "Els fitxers d'aquesta tasca falten. Vols eliminar-la de la llista de tasques?" + "missing_task_files": "Els fitxers d'aquesta tasca falten. Vols eliminar-la de la llista de tasques?", + "auto_import_failed": "Ha fallat la importació automàtica de la configuració de RooCode: {{error}}" }, "info": { "no_changes": "No s'han trobat canvis.", @@ -86,6 +87,7 @@ "custom_storage_path_set": "Ruta d'emmagatzematge personalitzada establerta: {{path}}", "default_storage_path": "S'ha reprès l'ús de la ruta d'emmagatzematge predeterminada", "settings_imported": "Configuració importada correctament.", + "auto_import_success": "Configuració de RooCode importada automàticament des de {{filename}}", "share_link_copied": "Enllaç de compartició copiat al portapapers", "image_copied_to_clipboard": "URI de dades de la imatge copiada al portapapers", "image_saved": "Imatge desada a {{path}}", diff --git a/src/i18n/locales/de/common.json b/src/i18n/locales/de/common.json index fc4ce25de1..2a3917d3c0 100644 --- a/src/i18n/locales/de/common.json +++ b/src/i18n/locales/de/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Kein Terminal-Inhalt ausgewählt", - "missing_task_files": "Die Dateien dieser Aufgabe fehlen. Möchtest du sie aus der Aufgabenliste entfernen?" + "missing_task_files": "Die Dateien dieser Aufgabe fehlen. Möchtest du sie aus der Aufgabenliste entfernen?", + "auto_import_failed": "Fehler beim automatischen Import der RooCode-Einstellungen: {{error}}" }, "info": { "no_changes": "Keine Änderungen gefunden.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Benutzerdefinierter Speicherpfad festgelegt: {{path}}", "default_storage_path": "Auf Standardspeicherpfad zurückgesetzt", "settings_imported": "Einstellungen erfolgreich importiert.", + "auto_import_success": "RooCode-Einstellungen automatisch importiert aus {{filename}}", "share_link_copied": "Share-Link in die Zwischenablage kopiert", "image_copied_to_clipboard": "Bild-Daten-URI in die Zwischenablage kopiert", "image_saved": "Bild gespeichert unter {{path}}", diff --git a/src/i18n/locales/en/common.json b/src/i18n/locales/en/common.json index 3f19a1dd50..9d14378bf8 100644 --- a/src/i18n/locales/en/common.json +++ b/src/i18n/locales/en/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "No terminal content selected", - "missing_task_files": "This task's files are missing. Would you like to remove it from the task list?" + "missing_task_files": "This task's files are missing. Would you like to remove it from the task list?", + "auto_import_failed": "Failed to auto-import RooCode settings: {{error}}" }, "info": { "no_changes": "No changes found.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Custom storage path set: {{path}}", "default_storage_path": "Reverted to using default storage path", "settings_imported": "Settings imported successfully.", + "auto_import_success": "RooCode settings automatically imported from {{filename}}", "share_link_copied": "Share link copied to clipboard", "organization_share_link_copied": "Organization share link copied to clipboard!", "public_share_link_copied": "Public share link copied to clipboard!", diff --git a/src/i18n/locales/es/common.json b/src/i18n/locales/es/common.json index 4b3177619e..64de41d17c 100644 --- a/src/i18n/locales/es/common.json +++ b/src/i18n/locales/es/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "No hay contenido de terminal seleccionado", - "missing_task_files": "Los archivos de esta tarea faltan. ¿Deseas eliminarla de la lista de tareas?" + "missing_task_files": "Los archivos de esta tarea faltan. ¿Deseas eliminarla de la lista de tareas?", + "auto_import_failed": "Error al importar automáticamente la configuración de RooCode: {{error}}" }, "info": { "no_changes": "No se encontraron cambios.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Ruta de almacenamiento personalizada establecida: {{path}}", "default_storage_path": "Se ha vuelto a usar la ruta de almacenamiento predeterminada", "settings_imported": "Configuración importada correctamente.", + "auto_import_success": "Configuración de RooCode importada automáticamente desde {{filename}}", "share_link_copied": "Enlace de compartir copiado al portapapeles", "image_copied_to_clipboard": "URI de datos de imagen copiada al portapapeles", "image_saved": "Imagen guardada en {{path}}", diff --git a/src/i18n/locales/fr/common.json b/src/i18n/locales/fr/common.json index 93cd67ca15..d07a38bf0a 100644 --- a/src/i18n/locales/fr/common.json +++ b/src/i18n/locales/fr/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Aucun contenu de terminal sélectionné", - "missing_task_files": "Les fichiers de cette tâche sont introuvables. Souhaitez-vous la supprimer de la liste des tâches ?" + "missing_task_files": "Les fichiers de cette tâche sont introuvables. Souhaitez-vous la supprimer de la liste des tâches ?", + "auto_import_failed": "Échec de l'importation automatique des paramètres RooCode : {{error}}" }, "info": { "no_changes": "Aucun changement trouvé.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Chemin de stockage personnalisé défini : {{path}}", "default_storage_path": "Retour au chemin de stockage par défaut", "settings_imported": "Paramètres importés avec succès.", + "auto_import_success": "Paramètres RooCode importés automatiquement depuis {{filename}}", "share_link_copied": "Lien de partage copié dans le presse-papiers", "image_copied_to_clipboard": "URI de données d'image copiée dans le presse-papiers", "image_saved": "Image enregistrée dans {{path}}", diff --git a/src/i18n/locales/hi/common.json b/src/i18n/locales/hi/common.json index 68788beacc..8fa84137e4 100644 --- a/src/i18n/locales/hi/common.json +++ b/src/i18n/locales/hi/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "कोई टर्मिनल सामग्री चयनित नहीं", - "missing_task_files": "इस टास्क की फाइलें गायब हैं। क्या आप इसे टास्क सूची से हटाना चाहते हैं?" + "missing_task_files": "इस टास्क की फाइलें गायब हैं। क्या आप इसे टास्क सूची से हटाना चाहते हैं?", + "auto_import_failed": "RooCode सेटिंग्स का स्वचालित आयात विफल: {{error}}" }, "info": { "no_changes": "कोई परिवर्तन नहीं मिला।", @@ -82,6 +83,7 @@ "custom_storage_path_set": "कस्टम स्टोरेज पाथ सेट किया गया: {{path}}", "default_storage_path": "डिफ़ॉल्ट स्टोरेज पाथ का उपयोग पुनः शुरू किया गया", "settings_imported": "सेटिंग्स सफलतापूर्वक इम्पोर्ट की गईं।", + "auto_import_success": "RooCode सेटिंग्स {{filename}} से स्वचालित रूप से आयात की गईं", "share_link_copied": "साझा लिंक क्लिपबोर्ड पर कॉपी किया गया", "image_copied_to_clipboard": "छवि डेटा URI क्लिपबोर्ड में कॉपी की गई", "image_saved": "छवि {{path}} में सहेजी गई", diff --git a/src/i18n/locales/id/common.json b/src/i18n/locales/id/common.json index d6bb2ffa98..4ccbd3993d 100644 --- a/src/i18n/locales/id/common.json +++ b/src/i18n/locales/id/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Tidak ada konten terminal yang dipilih", - "missing_task_files": "File tugas ini hilang. Apakah kamu ingin menghapusnya dari daftar tugas?" + "missing_task_files": "File tugas ini hilang. Apakah kamu ingin menghapusnya dari daftar tugas?", + "auto_import_failed": "Gagal mengimpor pengaturan RooCode secara otomatis: {{error}}" }, "info": { "no_changes": "Tidak ada perubahan ditemukan.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Path penyimpanan kustom diatur: {{path}}", "default_storage_path": "Kembali menggunakan path penyimpanan default", "settings_imported": "Pengaturan berhasil diimpor.", + "auto_import_success": "Pengaturan RooCode berhasil diimpor secara otomatis dari {{filename}}", "share_link_copied": "Link bagikan disalin ke clipboard", "image_copied_to_clipboard": "Data URI gambar disalin ke clipboard", "image_saved": "Gambar disimpan ke {{path}}", diff --git a/src/i18n/locales/it/common.json b/src/i18n/locales/it/common.json index 0ef6ee5b54..c4b7cdc920 100644 --- a/src/i18n/locales/it/common.json +++ b/src/i18n/locales/it/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Nessun contenuto del terminale selezionato", - "missing_task_files": "I file di questa attività sono mancanti. Vuoi rimuoverla dall'elenco delle attività?" + "missing_task_files": "I file di questa attività sono mancanti. Vuoi rimuoverla dall'elenco delle attività?", + "auto_import_failed": "Importazione automatica delle impostazioni RooCode fallita: {{error}}" }, "info": { "no_changes": "Nessuna modifica trovata.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Percorso di archiviazione personalizzato impostato: {{path}}", "default_storage_path": "Tornato al percorso di archiviazione predefinito", "settings_imported": "Impostazioni importate con successo.", + "auto_import_success": "Impostazioni RooCode importate automaticamente da {{filename}}", "share_link_copied": "Link di condivisione copiato negli appunti", "image_copied_to_clipboard": "URI dati dell'immagine copiato negli appunti", "image_saved": "Immagine salvata in {{path}}", diff --git a/src/i18n/locales/ja/common.json b/src/i18n/locales/ja/common.json index b132470eac..f8bf8dad33 100644 --- a/src/i18n/locales/ja/common.json +++ b/src/i18n/locales/ja/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "選択されたターミナルコンテンツがありません", - "missing_task_files": "このタスクのファイルが見つかりません。タスクリストから削除しますか?" + "missing_task_files": "このタスクのファイルが見つかりません。タスクリストから削除しますか?", + "auto_import_failed": "RooCode設定の自動インポートに失敗しました:{{error}}" }, "info": { "no_changes": "変更は見つかりませんでした。", @@ -82,6 +83,7 @@ "custom_storage_path_set": "カスタムストレージパスが設定されました:{{path}}", "default_storage_path": "デフォルトのストレージパスに戻りました", "settings_imported": "設定が正常にインポートされました。", + "auto_import_success": "RooCode設定が{{filename}}から自動インポートされました", "share_link_copied": "共有リンクがクリップボードにコピーされました", "image_copied_to_clipboard": "画像データURIがクリップボードにコピーされました", "image_saved": "画像を{{path}}に保存しました", diff --git a/src/i18n/locales/ko/common.json b/src/i18n/locales/ko/common.json index 079bb56a48..13dcfb763d 100644 --- a/src/i18n/locales/ko/common.json +++ b/src/i18n/locales/ko/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "선택된 터미널 내용이 없습니다", - "missing_task_files": "이 작업의 파일이 누락되었습니다. 작업 목록에서 제거하시겠습니까?" + "missing_task_files": "이 작업의 파일이 누락되었습니다. 작업 목록에서 제거하시겠습니까?", + "auto_import_failed": "RooCode 설정 자동 가져오기 실패: {{error}}" }, "info": { "no_changes": "변경 사항이 없습니다.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "사용자 지정 저장 경로 설정됨: {{path}}", "default_storage_path": "기본 저장 경로로 되돌아갔습니다", "settings_imported": "설정이 성공적으로 가져와졌습니다.", + "auto_import_success": "{{filename}}에서 RooCode 설정을 자동으로 가져왔습니다", "share_link_copied": "공유 링크가 클립보드에 복사되었습니다", "image_copied_to_clipboard": "이미지 데이터 URI가 클립보드에 복사되었습니다", "image_saved": "이미지가 {{path}}에 저장되었습니다", diff --git a/src/i18n/locales/nl/common.json b/src/i18n/locales/nl/common.json index ef27bef3d8..6a0a5ef52e 100644 --- a/src/i18n/locales/nl/common.json +++ b/src/i18n/locales/nl/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Geen terminalinhoud geselecteerd", - "missing_task_files": "De bestanden van deze taak ontbreken. Wil je deze uit de takenlijst verwijderen?" + "missing_task_files": "De bestanden van deze taak ontbreken. Wil je deze uit de takenlijst verwijderen?", + "auto_import_failed": "Automatisch importeren van RooCode-instellingen mislukt: {{error}}" }, "info": { "no_changes": "Geen wijzigingen gevonden.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Aangepast opslagpad ingesteld: {{path}}", "default_storage_path": "Terug naar standaard opslagpad", "settings_imported": "Instellingen succesvol geïmporteerd.", + "auto_import_success": "RooCode-instellingen automatisch geïmporteerd van {{filename}}", "share_link_copied": "Deellink gekopieerd naar klembord", "image_copied_to_clipboard": "Afbeelding data-URI gekopieerd naar klembord", "image_saved": "Afbeelding opgeslagen naar {{path}}", diff --git a/src/i18n/locales/pl/common.json b/src/i18n/locales/pl/common.json index 777bbd82b7..905c8766bf 100644 --- a/src/i18n/locales/pl/common.json +++ b/src/i18n/locales/pl/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Nie wybrano zawartości terminala", - "missing_task_files": "Pliki tego zadania są brakujące. Czy chcesz usunąć je z listy zadań?" + "missing_task_files": "Pliki tego zadania są brakujące. Czy chcesz usunąć je z listy zadań?", + "auto_import_failed": "Nie udało się automatycznie zaimportować ustawień RooCode: {{error}}" }, "info": { "no_changes": "Nie znaleziono zmian.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Ustawiono niestandardową ścieżkę przechowywania: {{path}}", "default_storage_path": "Wznowiono używanie domyślnej ścieżki przechowywania", "settings_imported": "Ustawienia zaimportowane pomyślnie.", + "auto_import_success": "Ustawienia RooCode zostały automatycznie zaimportowane z {{filename}}", "share_link_copied": "Link udostępniania skopiowany do schowka", "image_copied_to_clipboard": "URI danych obrazu skopiowane do schowka", "image_saved": "Obraz zapisany w {{path}}", diff --git a/src/i18n/locales/pt-BR/common.json b/src/i18n/locales/pt-BR/common.json index 18695588c8..6bfeba9604 100644 --- a/src/i18n/locales/pt-BR/common.json +++ b/src/i18n/locales/pt-BR/common.json @@ -77,7 +77,8 @@ }, "warnings": { "no_terminal_content": "Nenhum conteúdo do terminal selecionado", - "missing_task_files": "Os arquivos desta tarefa estão faltando. Deseja removê-la da lista de tarefas?" + "missing_task_files": "Os arquivos desta tarefa estão faltando. Deseja removê-la da lista de tarefas?", + "auto_import_failed": "Falha ao importar automaticamente as configurações do RooCode: {{error}}" }, "info": { "no_changes": "Nenhuma alteração encontrada.", @@ -86,6 +87,7 @@ "custom_storage_path_set": "Caminho de armazenamento personalizado definido: {{path}}", "default_storage_path": "Retornado ao caminho de armazenamento padrão", "settings_imported": "Configurações importadas com sucesso.", + "auto_import_success": "Configurações do RooCode importadas automaticamente de {{filename}}", "share_link_copied": "Link de compartilhamento copiado para a área de transferência", "image_copied_to_clipboard": "URI de dados da imagem copiada para a área de transferência", "image_saved": "Imagem salva em {{path}}", diff --git a/src/i18n/locales/ru/common.json b/src/i18n/locales/ru/common.json index b0e4f58ceb..59d25c897c 100644 --- a/src/i18n/locales/ru/common.json +++ b/src/i18n/locales/ru/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Не выбрано содержимое терминала", - "missing_task_files": "Файлы этой задачи отсутствуют. Хотите удалить её из списка задач?" + "missing_task_files": "Файлы этой задачи отсутствуют. Хотите удалить её из списка задач?", + "auto_import_failed": "Не удалось автоматически импортировать настройки RooCode: {{error}}" }, "info": { "no_changes": "Изменения не найдены.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Установлен пользовательский путь хранения: {{path}}", "default_storage_path": "Возвращено использование пути хранения по умолчанию", "settings_imported": "Настройки успешно импортированы.", + "auto_import_success": "Настройки RooCode автоматически импортированы из {{filename}}", "share_link_copied": "Ссылка для совместного использования скопирована в буфер обмена", "image_copied_to_clipboard": "URI данных изображения скопирован в буфер обмена", "image_saved": "Изображение сохранено в {{path}}", diff --git a/src/i18n/locales/tr/common.json b/src/i18n/locales/tr/common.json index 9663cac808..4bbb723d11 100644 --- a/src/i18n/locales/tr/common.json +++ b/src/i18n/locales/tr/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Seçili terminal içeriği yok", - "missing_task_files": "Bu görevin dosyaları eksik. Görev listesinden kaldırmak istiyor musunuz?" + "missing_task_files": "Bu görevin dosyaları eksik. Görev listesinden kaldırmak istiyor musunuz?", + "auto_import_failed": "RooCode ayarları otomatik olarak içe aktarılamadı: {{error}}" }, "info": { "no_changes": "Değişiklik bulunamadı.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Özel depolama yolu ayarlandı: {{path}}", "default_storage_path": "Varsayılan depolama yoluna geri dönüldü", "settings_imported": "Ayarlar başarıyla içe aktarıldı.", + "auto_import_success": "RooCode ayarları {{filename}} dosyasından otomatik olarak içe aktarıldı", "share_link_copied": "Paylaşım bağlantısı panoya kopyalandı", "image_copied_to_clipboard": "Resim veri URI'si panoya kopyalandı", "image_saved": "Resim {{path}} konumuna kaydedildi", diff --git a/src/i18n/locales/vi/common.json b/src/i18n/locales/vi/common.json index 5a9d0983f8..c001f38141 100644 --- a/src/i18n/locales/vi/common.json +++ b/src/i18n/locales/vi/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "Không có nội dung terminal được chọn", - "missing_task_files": "Các tệp của nhiệm vụ này bị thiếu. Bạn có muốn xóa nó khỏi danh sách nhiệm vụ không?" + "missing_task_files": "Các tệp của nhiệm vụ này bị thiếu. Bạn có muốn xóa nó khỏi danh sách nhiệm vụ không?", + "auto_import_failed": "Không thể tự động nhập cài đặt RooCode: {{error}}" }, "info": { "no_changes": "Không tìm thấy thay đổi nào.", @@ -82,6 +83,7 @@ "custom_storage_path_set": "Đã thiết lập đường dẫn lưu trữ tùy chỉnh: {{path}}", "default_storage_path": "Đã quay lại sử dụng đường dẫn lưu trữ mặc định", "settings_imported": "Cài đặt đã được nhập thành công.", + "auto_import_success": "Cài đặt RooCode đã được tự động nhập từ {{filename}}", "share_link_copied": "Liên kết chia sẻ đã được sao chép vào clipboard", "image_copied_to_clipboard": "URI dữ liệu hình ảnh đã được sao chép vào clipboard", "image_saved": "Hình ảnh đã được lưu vào {{path}}", diff --git a/src/i18n/locales/zh-CN/common.json b/src/i18n/locales/zh-CN/common.json index b355c2ec35..86d4a1d555 100644 --- a/src/i18n/locales/zh-CN/common.json +++ b/src/i18n/locales/zh-CN/common.json @@ -78,7 +78,8 @@ }, "warnings": { "no_terminal_content": "没有选择终端内容", - "missing_task_files": "此任务的文件丢失。您想从任务列表中删除它吗?" + "missing_task_files": "此任务的文件丢失。您想从任务列表中删除它吗?", + "auto_import_failed": "自动导入 RooCode 设置失败:{{error}}" }, "info": { "no_changes": "未找到更改。", @@ -87,6 +88,7 @@ "custom_storage_path_set": "自定义存储路径已设置:{{path}}", "default_storage_path": "已恢复使用默认存储路径", "settings_imported": "设置已成功导入。", + "auto_import_success": "已自动导入 RooCode 设置:{{filename}}", "share_link_copied": "分享链接已复制到剪贴板", "image_copied_to_clipboard": "图片数据 URI 已复制到剪贴板", "image_saved": "图片已保存到 {{path}}", diff --git a/src/i18n/locales/zh-TW/common.json b/src/i18n/locales/zh-TW/common.json index 6c1c9747aa..09c08987a8 100644 --- a/src/i18n/locales/zh-TW/common.json +++ b/src/i18n/locales/zh-TW/common.json @@ -73,7 +73,8 @@ }, "warnings": { "no_terminal_content": "沒有選擇終端機內容", - "missing_task_files": "此工作的檔案遺失。您想從工作列表中刪除它嗎?" + "missing_task_files": "此工作的檔案遺失。您想從工作列表中刪除它嗎?", + "auto_import_failed": "自動匯入 RooCode 設定失敗:{{error}}" }, "info": { "no_changes": "沒有找到更改。", @@ -82,6 +83,7 @@ "custom_storage_path_set": "自訂儲存路徑已設定:{{path}}", "default_storage_path": "已恢復使用預設儲存路徑", "settings_imported": "設定已成功匯入。", + "auto_import_success": "已自動匯入 RooCode 設定:{{filename}}", "share_link_copied": "分享連結已複製到剪貼簿", "image_copied_to_clipboard": "圖片資料 URI 已複製到剪貼簿", "image_saved": "圖片已儲存至 {{path}}", diff --git a/src/package.json b/src/package.json index df40fe3586..384e985a64 100644 --- a/src/package.json +++ b/src/package.json @@ -333,6 +333,11 @@ "type": "boolean", "default": true, "description": "%settings.enableCodeActions.description%" + }, + "roo-cline.autoImportSettingsPath": { + "type": "string", + "default": "", + "description": "%settings.autoImportSettingsPath.description%" } } } diff --git a/src/package.nls.ca.json b/src/package.nls.ca.json index f20f269e20..978caf3df3 100644 --- a/src/package.nls.ca.json +++ b/src/package.nls.ca.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "El proveïdor del model de llenguatge (p. ex. copilot)", "settings.vsCodeLmModelSelector.family.description": "La família del model de llenguatge (p. ex. gpt-4)", "settings.customStoragePath.description": "Ruta d'emmagatzematge personalitzada. Deixeu-la buida per utilitzar la ubicació predeterminada. Admet rutes absolutes (p. ex. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Habilitar correccions ràpides de Roo Code." + "settings.enableCodeActions.description": "Habilitar correccions ràpides de Roo Code.", + "settings.autoImportSettingsPath.description": "Ruta a un fitxer de configuració de RooCode per importar automàticament en iniciar l'extensió. Admet rutes absolutes i rutes relatives al directori d'inici (per exemple, '~/Documents/roo-code-settings.json'). Deixeu-ho en blanc per desactivar la importació automàtica." } diff --git a/src/package.nls.de.json b/src/package.nls.de.json index 781b310668..32b38f7dee 100644 --- a/src/package.nls.de.json +++ b/src/package.nls.de.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Der Anbieter des Sprachmodells (z.B. copilot)", "settings.vsCodeLmModelSelector.family.description": "Die Familie des Sprachmodells (z.B. gpt-4)", "settings.customStoragePath.description": "Benutzerdefinierter Speicherpfad. Leer lassen, um den Standardspeicherort zu verwenden. Unterstützt absolute Pfade (z.B. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Roo Code Schnelle Problembehebung aktivieren." + "settings.enableCodeActions.description": "Roo Code Schnelle Problembehebung aktivieren.", + "settings.autoImportSettingsPath.description": "Pfad zu einer RooCode-Konfigurationsdatei, die beim Start der Erweiterung automatisch importiert wird. Unterstützt absolute Pfade und Pfade relativ zum Home-Verzeichnis (z.B. '~/Documents/roo-code-settings.json'). Leer lassen, um den automatischen Import zu deaktivieren." } diff --git a/src/package.nls.es.json b/src/package.nls.es.json index 4938f5ea64..dc76f15e94 100644 --- a/src/package.nls.es.json +++ b/src/package.nls.es.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "El proveedor del modelo de lenguaje (ej. copilot)", "settings.vsCodeLmModelSelector.family.description": "La familia del modelo de lenguaje (ej. gpt-4)", "settings.customStoragePath.description": "Ruta de almacenamiento personalizada. Dejar vacío para usar la ubicación predeterminada. Admite rutas absolutas (ej. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Habilitar correcciones rápidas de Roo Code." + "settings.enableCodeActions.description": "Habilitar correcciones rápidas de Roo Code.", + "settings.autoImportSettingsPath.description": "Ruta a un archivo de configuración de RooCode para importar automáticamente al iniciar la extensión. Admite rutas absolutas y rutas relativas al directorio de inicio (por ejemplo, '~/Documents/roo-code-settings.json'). Dejar vacío para desactivar la importación automática." } diff --git a/src/package.nls.fr.json b/src/package.nls.fr.json index ada2502e4f..621cab976e 100644 --- a/src/package.nls.fr.json +++ b/src/package.nls.fr.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Le fournisseur du modèle de langage (ex: copilot)", "settings.vsCodeLmModelSelector.family.description": "La famille du modèle de langage (ex: gpt-4)", "settings.customStoragePath.description": "Chemin de stockage personnalisé. Laisser vide pour utiliser l'emplacement par défaut. Prend en charge les chemins absolus (ex: 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Activer les correctifs rapides de Roo Code." + "settings.enableCodeActions.description": "Activer les correctifs rapides de Roo Code.", + "settings.autoImportSettingsPath.description": "Chemin d'accès à un fichier de configuration RooCode à importer automatiquement au démarrage de l'extension. Prend en charge les chemins absolus et les chemins relatifs au répertoire de base (par exemple, '~/Documents/roo-code-settings.json'). Laisser vide pour désactiver l'importation automatique." } diff --git a/src/package.nls.hi.json b/src/package.nls.hi.json index f06e21cf06..d54f1d829e 100644 --- a/src/package.nls.hi.json +++ b/src/package.nls.hi.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "भाषा मॉडल का विक्रेता (उदा. copilot)", "settings.vsCodeLmModelSelector.family.description": "भाषा मॉडल का परिवार (उदा. gpt-4)", "settings.customStoragePath.description": "कस्टम स्टोरेज पाथ। डिफ़ॉल्ट स्थान का उपयोग करने के लिए खाली छोड़ें। पूर्ण पथ का समर्थन करता है (उदा. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Roo Code त्वरित सुधार सक्षम करें" + "settings.enableCodeActions.description": "Roo Code त्वरित सुधार सक्षम करें", + "settings.autoImportSettingsPath.description": "RooCode कॉन्फ़िगरेशन फ़ाइल का पथ जिसे एक्सटेंशन स्टार्टअप पर स्वचालित रूप से आयात किया जाएगा। होम डायरेक्टरी के सापेक्ष पूर्ण पथ और पथों का समर्थन करता है (उदाहरण के लिए '~/Documents/roo-code-settings.json')। ऑटो-इंपोर्ट को अक्षम करने के लिए खाली छोड़ दें।" } diff --git a/src/package.nls.id.json b/src/package.nls.id.json index c7461aab6b..99313d151e 100644 --- a/src/package.nls.id.json +++ b/src/package.nls.id.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Vendor dari model bahasa (misalnya copilot)", "settings.vsCodeLmModelSelector.family.description": "Keluarga dari model bahasa (misalnya gpt-4)", "settings.customStoragePath.description": "Path penyimpanan kustom. Biarkan kosong untuk menggunakan lokasi default. Mendukung path absolut (misalnya 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Aktifkan perbaikan cepat Roo Code." + "settings.enableCodeActions.description": "Aktifkan perbaikan cepat Roo Code.", + "settings.autoImportSettingsPath.description": "Path ke file konfigurasi RooCode untuk diimpor secara otomatis saat ekstensi dimulai. Mendukung path absolut dan path relatif terhadap direktori home (misalnya '~/Documents/roo-code-settings.json'). Biarkan kosong untuk menonaktifkan impor otomatis." } diff --git a/src/package.nls.it.json b/src/package.nls.it.json index cc63935e60..0fca90870c 100644 --- a/src/package.nls.it.json +++ b/src/package.nls.it.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Il fornitore del modello linguistico (es. copilot)", "settings.vsCodeLmModelSelector.family.description": "La famiglia del modello linguistico (es. gpt-4)", "settings.customStoragePath.description": "Percorso di archiviazione personalizzato. Lasciare vuoto per utilizzare la posizione predefinita. Supporta percorsi assoluti (es. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Abilita correzioni rapide di Roo Code." + "settings.enableCodeActions.description": "Abilita correzioni rapide di Roo Code.", + "settings.autoImportSettingsPath.description": "Percorso di un file di configurazione di RooCode da importare automaticamente all'avvio dell'estensione. Supporta percorsi assoluti e percorsi relativi alla directory home (ad es. '~/Documents/roo-code-settings.json'). Lasciare vuoto per disabilitare l'importazione automatica." } diff --git a/src/package.nls.ja.json b/src/package.nls.ja.json index 7e601d3c78..5fd4ade628 100644 --- a/src/package.nls.ja.json +++ b/src/package.nls.ja.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "言語モデルのベンダー(例:copilot)", "settings.vsCodeLmModelSelector.family.description": "言語モデルのファミリー(例:gpt-4)", "settings.customStoragePath.description": "カスタムストレージパス。デフォルトの場所を使用する場合は空のままにします。絶対パスをサポートします(例:'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Roo Codeのクイック修正を有効にする。" + "settings.enableCodeActions.description": "Roo Codeのクイック修正を有効にする。", + "settings.autoImportSettingsPath.description": "拡張機能の起動時に自動的にインポートするRooCode設定ファイルへのパス。絶対パスとホームディレクトリからの相対パスをサポートします(例:'~/Documents/roo-code-settings.json')。自動インポートを無効にするには、空のままにします。" } diff --git a/src/package.nls.json b/src/package.nls.json index b6880b8bfe..23885f80be 100644 --- a/src/package.nls.json +++ b/src/package.nls.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "The vendor of the language model (e.g. copilot)", "settings.vsCodeLmModelSelector.family.description": "The family of the language model (e.g. gpt-4)", "settings.customStoragePath.description": "Custom storage path. Leave empty to use the default location. Supports absolute paths (e.g. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Enable Roo Code quick fixes" + "settings.enableCodeActions.description": "Enable Roo Code quick fixes", + "settings.autoImportSettingsPath.description": "Path to a RooCode configuration file to automatically import on extension startup. Supports absolute paths and paths relative to the home directory (e.g. '~/Documents/roo-code-settings.json'). Leave empty to disable auto-import." } diff --git a/src/package.nls.ko.json b/src/package.nls.ko.json index e305da4c4c..e6e30c155b 100644 --- a/src/package.nls.ko.json +++ b/src/package.nls.ko.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "언어 모델 공급자 (예: copilot)", "settings.vsCodeLmModelSelector.family.description": "언어 모델 계열 (예: gpt-4)", "settings.customStoragePath.description": "사용자 지정 저장소 경로. 기본 위치를 사용하려면 비워두세요. 절대 경로를 지원합니다 (예: 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Roo Code 빠른 수정 사용 설정" + "settings.enableCodeActions.description": "Roo Code 빠른 수정 사용 설정", + "settings.autoImportSettingsPath.description": "확장 프로그램 시작 시 자동으로 가져올 RooCode 구성 파일의 경로입니다. 절대 경로 및 홈 디렉토리에 대한 상대 경로를 지원합니다(예: '~/Documents/roo-code-settings.json'). 자동 가져오기를 비활성화하려면 비워 둡니다." } diff --git a/src/package.nls.nl.json b/src/package.nls.nl.json index 3cd1880941..095aace43e 100644 --- a/src/package.nls.nl.json +++ b/src/package.nls.nl.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "De leverancier van het taalmodel (bijv. copilot)", "settings.vsCodeLmModelSelector.family.description": "De familie van het taalmodel (bijv. gpt-4)", "settings.customStoragePath.description": "Aangepast opslagpad. Laat leeg om de standaardlocatie te gebruiken. Ondersteunt absolute paden (bijv. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Snelle correcties van Roo Code inschakelen." + "settings.enableCodeActions.description": "Snelle correcties van Roo Code inschakelen.", + "settings.autoImportSettingsPath.description": "Pad naar een RooCode-configuratiebestand om automatisch te importeren bij het opstarten van de extensie. Ondersteunt absolute paden en paden ten opzichte van de thuismap (bijv. '~/Documents/roo-code-settings.json'). Laat leeg om automatisch importeren uit te schakelen." } diff --git a/src/package.nls.pl.json b/src/package.nls.pl.json index 275c404d06..9963d96db6 100644 --- a/src/package.nls.pl.json +++ b/src/package.nls.pl.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Dostawca modelu językowego (np. copilot)", "settings.vsCodeLmModelSelector.family.description": "Rodzina modelu językowego (np. gpt-4)", "settings.customStoragePath.description": "Niestandardowa ścieżka przechowywania. Pozostaw puste, aby użyć domyślnej lokalizacji. Obsługuje ścieżki bezwzględne (np. 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Włącz szybkie poprawki Roo Code." + "settings.enableCodeActions.description": "Włącz szybkie poprawki Roo Code.", + "settings.autoImportSettingsPath.description": "Ścieżka do pliku konfiguracyjnego RooCode, który ma być automatycznie importowany podczas uruchamiania rozszerzenia. Obsługuje ścieżki bezwzględne i ścieżki względne do katalogu domowego (np. '~/Documents/roo-code-settings.json'). Pozostaw puste, aby wyłączyć automatyczne importowanie." } diff --git a/src/package.nls.pt-BR.json b/src/package.nls.pt-BR.json index 057f255c44..aaec3b4533 100644 --- a/src/package.nls.pt-BR.json +++ b/src/package.nls.pt-BR.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "O fornecedor do modelo de linguagem (ex: copilot)", "settings.vsCodeLmModelSelector.family.description": "A família do modelo de linguagem (ex: gpt-4)", "settings.customStoragePath.description": "Caminho de armazenamento personalizado. Deixe vazio para usar o local padrão. Suporta caminhos absolutos (ex: 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Habilitar correções rápidas do Roo Code." + "settings.enableCodeActions.description": "Habilitar correções rápidas do Roo Code.", + "settings.autoImportSettingsPath.description": "Caminho para um arquivo de configuração do RooCode para importar automaticamente na inicialização da extensão. Suporta caminhos absolutos e caminhos relativos ao diretório inicial (por exemplo, '~/Documents/roo-code-settings.json'). Deixe em branco para desativar a importação automática." } diff --git a/src/package.nls.ru.json b/src/package.nls.ru.json index 02a5bcf93d..632c1e3628 100644 --- a/src/package.nls.ru.json +++ b/src/package.nls.ru.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Поставщик языковой модели (например, copilot)", "settings.vsCodeLmModelSelector.family.description": "Семейство языковой модели (например, gpt-4)", "settings.customStoragePath.description": "Пользовательский путь хранения. Оставьте пустым для использования пути по умолчанию. Поддерживает абсолютные пути (например, 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Включить быстрые исправления Roo Code." + "settings.enableCodeActions.description": "Включить быстрые исправления Roo Code.", + "settings.autoImportSettingsPath.description": "Путь к файлу конфигурации RooCode для автоматического импорта при запуске расширения. Поддерживает абсолютные пути и пути относительно домашнего каталога (например, '~/Documents/roo-code-settings.json'). Оставьте пустым, чтобы отключить автоматический импорт." } diff --git a/src/package.nls.tr.json b/src/package.nls.tr.json index dda6e9e8d1..a0b6c47d4f 100644 --- a/src/package.nls.tr.json +++ b/src/package.nls.tr.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Dil modelinin sağlayıcısı (örn: copilot)", "settings.vsCodeLmModelSelector.family.description": "Dil modelinin ailesi (örn: gpt-4)", "settings.customStoragePath.description": "Özel depolama yolu. Varsayılan konumu kullanmak için boş bırakın. Mutlak yolları destekler (örn: 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Roo Code hızlı düzeltmeleri etkinleştir." + "settings.enableCodeActions.description": "Roo Code hızlı düzeltmeleri etkinleştir.", + "settings.autoImportSettingsPath.description": "Uzantı başlangıcında otomatik olarak içe aktarılacak bir RooCode yapılandırma dosyasının yolu. Mutlak yolları ve ana dizine göreli yolları destekler (ör. '~/Documents/roo-code-settings.json'). Otomatik içe aktarmayı devre dışı bırakmak için boş bırakın." } diff --git a/src/package.nls.vi.json b/src/package.nls.vi.json index 985465acb7..2b5013fed0 100644 --- a/src/package.nls.vi.json +++ b/src/package.nls.vi.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "Nhà cung cấp mô hình ngôn ngữ (ví dụ: copilot)", "settings.vsCodeLmModelSelector.family.description": "Họ mô hình ngôn ngữ (ví dụ: gpt-4)", "settings.customStoragePath.description": "Đường dẫn lưu trữ tùy chỉnh. Để trống để sử dụng vị trí mặc định. Hỗ trợ đường dẫn tuyệt đối (ví dụ: 'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "Bật sửa lỗi nhanh Roo Code." + "settings.enableCodeActions.description": "Bật sửa lỗi nhanh Roo Code.", + "settings.autoImportSettingsPath.description": "Đường dẫn đến tệp cấu hình RooCode để tự động nhập khi khởi động tiện ích mở rộng. Hỗ trợ đường dẫn tuyệt đối và đường dẫn tương đối đến thư mục chính (ví dụ: '~/Documents/roo-code-settings.json'). Để trống để tắt tính năng tự động nhập." } diff --git a/src/package.nls.zh-CN.json b/src/package.nls.zh-CN.json index 25d4e15c0a..76bc991c36 100644 --- a/src/package.nls.zh-CN.json +++ b/src/package.nls.zh-CN.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "语言模型的供应商(例如:copilot)", "settings.vsCodeLmModelSelector.family.description": "语言模型的系列(例如:gpt-4)", "settings.customStoragePath.description": "自定义存储路径。留空以使用默认位置。支持绝对路径(例如:'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "启用 Roo Code 快速修复" + "settings.enableCodeActions.description": "启用 Roo Code 快速修复", + "settings.autoImportSettingsPath.description": "RooCode 配置文件的路径,用于在扩展启动时自动导入。支持绝对路径和相对于主目录的路径(例如 '~/Documents/roo-code-settings.json')。留空以禁用自动导入。" } diff --git a/src/package.nls.zh-TW.json b/src/package.nls.zh-TW.json index 918b4bff33..c833708541 100644 --- a/src/package.nls.zh-TW.json +++ b/src/package.nls.zh-TW.json @@ -31,5 +31,6 @@ "settings.vsCodeLmModelSelector.vendor.description": "語言模型供應商(例如:copilot)", "settings.vsCodeLmModelSelector.family.description": "語言模型系列(例如:gpt-4)", "settings.customStoragePath.description": "自訂儲存路徑。留空以使用預設位置。支援絕對路徑(例如:'D:\\RooCodeStorage')", - "settings.enableCodeActions.description": "啟用 Roo Code 快速修復。" + "settings.enableCodeActions.description": "啟用 Roo Code 快速修復。", + "settings.autoImportSettingsPath.description": "RooCode 設定檔案的路徑,用於在擴充功能啟動時自動匯入。支援絕對路徑和相對於主目錄的路徑(例如 '~/Documents/roo-code-settings.json')。留空以停用自動匯入。" } diff --git a/src/utils/__tests__/autoImportSettings.spec.ts b/src/utils/__tests__/autoImportSettings.spec.ts index 04d2a6a6c7..2b9b42293f 100644 --- a/src/utils/__tests__/autoImportSettings.spec.ts +++ b/src/utils/__tests__/autoImportSettings.spec.ts @@ -9,9 +9,6 @@ vi.mock("vscode", () => ({ showInformationMessage: vi.fn(), showWarningMessage: vi.fn(), }, - Uri: { - file: vi.fn((path: string) => ({ fsPath: path })), - }, })) vi.mock("fs/promises", () => ({ @@ -228,7 +225,9 @@ describe("autoImportSettings", () => { expect(mockOutputChannel.appendLine).toHaveBeenCalledWith( expect.stringContaining("[AutoImport] Failed to import settings:"), ) - expect(vscode.window.showWarningMessage).toHaveBeenCalledWith("warnings.auto_import_failed") + expect(vscode.window.showWarningMessage).toHaveBeenCalledWith( + expect.stringContaining("warnings.auto_import_failed"), + ) expect(mockProviderSettingsManager.import).not.toHaveBeenCalled() }) diff --git a/src/utils/autoImportSettings.ts b/src/utils/autoImportSettings.ts index d5871f3224..f3ab4080d7 100644 --- a/src/utils/autoImportSettings.ts +++ b/src/utils/autoImportSettings.ts @@ -6,16 +6,7 @@ import { Package } from "../shared/package" import { fileExistsAtPath } from "./fs" import { t } from "../i18n" -import { importSettingsFromFile } from "../core/config/importExport" -import { ProviderSettingsManager } from "../core/config/ProviderSettingsManager" -import { ContextProxy } from "../core/config/ContextProxy" -import { CustomModesManager } from "../core/config/CustomModesManager" - -type ImportOptions = { - providerSettingsManager: ProviderSettingsManager - contextProxy: ContextProxy - customModesManager: CustomModesManager -} +import { importSettingsFromPath, ImportOptions } from "../core/config/importExport" /** * Automatically imports RooCode settings from a specified path if it exists. @@ -46,15 +37,11 @@ export async function autoImportSettings( } // Attempt to import the configuration - const fileUri = vscode.Uri.file(resolvedPath) - const result = await importSettingsFromFile( - { - providerSettingsManager, - contextProxy, - customModesManager, - }, - fileUri, - ) + const result = await importSettingsFromPath(resolvedPath, { + providerSettingsManager, + contextProxy, + customModesManager, + }) if (result.success) { outputChannel.appendLine(`[AutoImport] Successfully imported settings from ${resolvedPath}`)