mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-10-07 02:58:15 +00:00
Added Enable Roo Code quick fixes setting to disable quick fixes. (#4878)
* Added Enable Roo Code quick fixes setting to disable quick fixes. * Fix: Address PR review comments and failing tests for #4878 * Fix localization consistency and add test coverage - Add missing period to French translation for consistency - Add test case for disabled enableCodeActions setting - Fix existing test mock setup for proper configuration handling --------- Co-authored-by: hannesrudolph <hrudolph@gmail.com> Co-authored-by: RooCode <roocode@RooCodes-Virtual-Machine.local>
This commit is contained in:
parent
6670e1abba
commit
82f7e88c2c
21 changed files with 72 additions and 18 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import * as vscode from "vscode"
|
||||
|
||||
import { CodeActionName, CodeActionId } from "@roo-code/types"
|
||||
import { Package } from "../shared/package"
|
||||
|
||||
import { getCodeActionCommand } from "../utils/commands"
|
||||
import { EditorUtils } from "../integrations/editor/EditorUtils"
|
||||
|
|
@ -36,6 +37,10 @@ export class CodeActionProvider implements vscode.CodeActionProvider {
|
|||
context: vscode.CodeActionContext,
|
||||
): vscode.ProviderResult<(vscode.CodeAction | vscode.Command)[]> {
|
||||
try {
|
||||
if (!vscode.workspace.getConfiguration(Package.name).get<boolean>("enableCodeActions", true)) {
|
||||
return []
|
||||
}
|
||||
|
||||
const effectiveRange = EditorUtils.getEffectiveRange(document, range)
|
||||
|
||||
if (!effectiveRange) {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ vi.mock("vscode", () => ({
|
|||
Information: 2,
|
||||
Hint: 3,
|
||||
},
|
||||
workspace: {
|
||||
getConfiguration: vi.fn().mockReturnValue({
|
||||
get: vi.fn().mockReturnValue(true),
|
||||
}),
|
||||
},
|
||||
}))
|
||||
|
||||
vi.mock("../../integrations/editor/EditorUtils", () => ({
|
||||
|
|
@ -94,9 +99,30 @@ describe("CodeActionProvider", () => {
|
|||
expect(actions).toEqual([])
|
||||
})
|
||||
|
||||
it("should return empty array when enableCodeActions is disabled", () => {
|
||||
// Mock the configuration to return false for enableCodeActions
|
||||
const mockGet = vi.fn().mockReturnValue(false)
|
||||
const mockGetConfiguration = vi.fn().mockReturnValue({
|
||||
get: mockGet,
|
||||
})
|
||||
;(vscode.workspace.getConfiguration as Mock).mockReturnValue(mockGetConfiguration())
|
||||
|
||||
const actions = provider.provideCodeActions(mockDocument, mockRange, mockContext)
|
||||
|
||||
expect(actions).toEqual([])
|
||||
expect(vscode.workspace.getConfiguration).toHaveBeenCalledWith("roo-cline")
|
||||
expect(mockGet).toHaveBeenCalledWith("enableCodeActions", true)
|
||||
})
|
||||
|
||||
it("should handle errors gracefully", () => {
|
||||
const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => {})
|
||||
|
||||
// Reset the workspace mock to return true for enableCodeActions
|
||||
const mockGet = vi.fn().mockReturnValue(true)
|
||||
const mockGetConfiguration = vi.fn().mockReturnValue({
|
||||
get: mockGet,
|
||||
})
|
||||
;(vscode.workspace.getConfiguration as Mock).mockReturnValue(mockGetConfiguration())
|
||||
;(EditorUtils.getEffectiveRange as Mock).mockImplementation(() => {
|
||||
throw new Error("Test error")
|
||||
})
|
||||
|
|
|
|||
|
|
@ -344,6 +344,11 @@
|
|||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%settings.rooCodeCloudEnabled.description%"
|
||||
},
|
||||
"roo-cline.enableCodeActions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%settings.enableCodeActions.description%"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Habilitar correccions ràpides de Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Aktiviere Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Aktiviere Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Roo Code Schnelle Problembehebung aktivieren."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Habilitar correcciones rápidas de Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Activer Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Activer Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Activer les correctifs rapides de Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "भाषा मॉडल का विक्रेता (उदा. copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "भाषा मॉडल का परिवार (उदा. gpt-4)",
|
||||
"settings.customStoragePath.description": "कस्टम स्टोरेज पाथ। डिफ़ॉल्ट स्थान का उपयोग करने के लिए खाली छोड़ें। पूर्ण पथ का समर्थन करता है (उदा. 'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud सक्षम करें।"
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud सक्षम करें।",
|
||||
"settings.enableCodeActions.description": "Roo Code त्वरित सुधार सक्षम करें"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Aktifkan Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Aktifkan Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Aktifkan perbaikan cepat Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Abilita Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Abilita Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Abilita correzioni rapide di Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "言語モデルのベンダー(例:copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "言語モデルのファミリー(例:gpt-4)",
|
||||
"settings.customStoragePath.description": "カスタムストレージパス。デフォルトの場所を使用する場合は空のままにします。絶対パスをサポートします(例:'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud を有効にする。"
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud を有効にする。",
|
||||
"settings.enableCodeActions.description": "Roo Codeのクイック修正を有効にする。"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Enable Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Enable Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Enable Roo Code quick fixes"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "언어 모델 공급자 (예: copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "언어 모델 계열 (예: gpt-4)",
|
||||
"settings.customStoragePath.description": "사용자 지정 저장소 경로. 기본 위치를 사용하려면 비워두세요. 절대 경로를 지원합니다 (예: 'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud 사용 설정"
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud 사용 설정",
|
||||
"settings.enableCodeActions.description": "Roo Code 빠른 수정 사용 설정"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Roo Code Cloud inschakelen."
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud inschakelen.",
|
||||
"settings.enableCodeActions.description": "Snelle correcties van Roo Code inschakelen."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Włącz Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Włącz Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Włącz szybkie poprawki Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Habilitar Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Habilitar correções rápidas do Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "Поставщик языковой модели (например, copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "Семейство языковой модели (например, gpt-4)",
|
||||
"settings.customStoragePath.description": "Пользовательский путь хранения. Оставьте пустым для использования пути по умолчанию. Поддерживает абсолютные пути (например, 'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "Включить Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Включить Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Включить быстрые исправления Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Roo Code Cloud'u Etkinleştir."
|
||||
"settings.rooCodeCloudEnabled.description": "Roo Code Cloud'u Etkinleştir.",
|
||||
"settings.enableCodeActions.description": "Roo Code hızlı düzeltmeleri etkinleştir."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,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.rooCodeCloudEnabled.description": "Bật Roo Code Cloud."
|
||||
"settings.rooCodeCloudEnabled.description": "Bật Roo Code Cloud.",
|
||||
"settings.enableCodeActions.description": "Bật sửa lỗi nhanh Roo Code."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "语言模型的供应商(例如:copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "语言模型的系列(例如:gpt-4)",
|
||||
"settings.customStoragePath.description": "自定义存储路径。留空以使用默认位置。支持绝对路径(例如:'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "启用 Roo Code Cloud。"
|
||||
"settings.rooCodeCloudEnabled.description": "启用 Roo Code Cloud。",
|
||||
"settings.enableCodeActions.description": "启用 Roo Code 快速修复"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,6 @@
|
|||
"settings.vsCodeLmModelSelector.vendor.description": "語言模型供應商(例如:copilot)",
|
||||
"settings.vsCodeLmModelSelector.family.description": "語言模型系列(例如:gpt-4)",
|
||||
"settings.customStoragePath.description": "自訂儲存路徑。留空以使用預設位置。支援絕對路徑(例如:'D:\\RooCodeStorage')",
|
||||
"settings.rooCodeCloudEnabled.description": "啟用 Roo Code Cloud。"
|
||||
"settings.rooCodeCloudEnabled.description": "啟用 Roo Code Cloud。",
|
||||
"settings.enableCodeActions.description": "啟用 Roo Code 快速修復。"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue