Skip to content

Commit 5084ccc

Browse files
committed
feat: enhance diagnostic settings UI with reset button and unlimited option
- Add reset button to restore default value (50 diagnostics) - Add unlimited checkbox that sets value to -1 and displays ∞ symbol - Update checkbox label to 'Automatically include diagnostics in context' - Clarify description to explain automatic vs manual inclusion behavior - Update all 18 language translation files with new UI strings
1 parent b748f0b commit 5084ccc

File tree

19 files changed

+113
-55
lines changed

19 files changed

+113
-55
lines changed

webview-ui/src/components/settings/ContextManagementSettings.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,30 @@ export const ContextManagementSettings = ({
275275
value={[maxDiagnosticMessages ?? 50]}
276276
onValueChange={([value]) => setCachedStateField("maxDiagnosticMessages", value)}
277277
data-testid="max-diagnostic-messages-slider"
278+
disabled={maxDiagnosticMessages === -1}
278279
/>
279-
<span className="w-10">{maxDiagnosticMessages ?? 50}</span>
280+
<span className="w-10">
281+
{maxDiagnosticMessages === -1 ? "∞" : (maxDiagnosticMessages ?? 50)}
282+
</span>
283+
<Button
284+
variant="ghost"
285+
size="sm"
286+
onClick={() => setCachedStateField("maxDiagnosticMessages", 50)}
287+
title={t("settings:contextManagement.diagnostics.maxMessages.resetTooltip")}
288+
className="p-1 h-6 w-6"
289+
disabled={maxDiagnosticMessages === 50}>
290+
<span className="codicon codicon-discard" />
291+
</Button>
292+
</div>
293+
<div className="flex items-center gap-2 mt-2">
294+
<VSCodeCheckbox
295+
checked={maxDiagnosticMessages === -1}
296+
onChange={(e: any) =>
297+
setCachedStateField("maxDiagnosticMessages", e.target.checked ? -1 : 50)
298+
}
299+
data-testid="max-diagnostic-messages-unlimited-checkbox">
300+
{t("settings:contextManagement.diagnostics.maxMessages.unlimited")}
301+
</VSCodeCheckbox>
280302
</div>
281303
<div className="text-vscode-descriptionForeground text-sm mt-1">
282304
{t("settings:contextManagement.diagnostics.maxMessages.description")}

webview-ui/src/i18n/locales/ca/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Inclou missatges de diagnòstic al context",
472-
"description": "Quan estigui activat, els missatges de diagnòstic (errors, advertències) s'inclouran en utilitzar @problems o en llegir fitxers amb diagnòstics."
471+
"label": "Inclou automàticament diagnòstics al context",
472+
"description": "Quan està activat, els missatges de diagnòstic (errors) dels fitxers editats s'inclouran automàticament al context. Sempre pots incloure manualment tots els diagnòstics de l'espai de treball utilitzant @problems."
473473
},
474474
"maxMessages": {
475475
"label": "Màxim de missatges de diagnòstic",
476-
"description": "Nombre màxim de missatges de diagnòstic a incloure per fitxer. Valors més alts proporcionen més context però augmenten l'ús de tokens."
476+
"description": "Nombre màxim de missatges de diagnòstic a incloure per fitxer. Aquest límit s'aplica tant a la inclusió automàtica (quan la casella està activada) com a les mencions manuals de @problems. Valors més alts proporcionen més context però augmenten l'ús de tokens.",
477+
"resetTooltip": "Restablir al valor per defecte (50)",
478+
"unlimited": "Missatges de diagnòstic il·limitats"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/de/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Diagnosenachrichten in den Kontext aufnehmen",
472-
"description": "Wenn aktiviert, werden Diagnosenachrichten (Fehler, Warnungen) bei der Verwendung von @problems oder beim Lesen von Dateien mit Diagnosen eingeschlossen."
471+
"label": "Diagnosen automatisch in den Kontext aufnehmen",
472+
"description": "Wenn aktiviert, werden Diagnosenachrichten (Fehler) aus bearbeiteten Dateien automatisch in den Kontext aufgenommen. Sie können jederzeit alle Workspace-Diagnosen manuell mit @problems einbeziehen."
473473
},
474474
"maxMessages": {
475475
"label": "Maximale Anzahl von Diagnosenachrichten",
476-
"description": "Maximale Anzahl von Diagnosenachrichten, die pro Datei eingeschlossen werden sollen. Höhere Werte bieten mehr Kontext, erhöhen aber den Token-Verbrauch."
476+
"description": "Maximale Anzahl von Diagnosenachrichten, die pro Datei eingeschlossen werden. Dieses Limit gilt sowohl für die automatische Einbeziehung (wenn das Kontrollkästchen aktiviert ist) als auch für manuelle @problems-Erwähnungen. Höhere Werte bieten mehr Kontext, erhöhen aber den Token-Verbrauch.",
477+
"resetTooltip": "Auf Standardwert zurücksetzen (50)",
478+
"unlimited": "Unbegrenzte Diagnosenachrichten"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/en/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Include diagnostic messages in context",
472-
"description": "When enabled, diagnostic messages (errors, warnings) will be included when using @problems or when files with diagnostics are read."
471+
"label": "Automatically include diagnostics in context",
472+
"description": "When enabled, diagnostic messages (errors) from edited files will be automatically included in the context. You can always manually include all workspace diagnostics using @problems."
473473
},
474474
"maxMessages": {
475475
"label": "Maximum diagnostic messages",
476-
"description": "Maximum number of diagnostic messages to include per file when using @problems or when automatic inclusion is enabled. Higher values provide more context but increase token usage."
476+
"description": "Maximum number of diagnostic messages to include per file. This limit applies to both automatic inclusion (when checkbox is enabled) and manual @problems mentions. Higher values provide more context but increase token usage.",
477+
"resetTooltip": "Reset to default value (50)",
478+
"unlimited": "Unlimited diagnostic messages"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/es/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Incluir mensajes de diagnóstico en el contexto",
472-
"description": "Cuando está habilitado, los mensajes de diagnóstico (errores, advertencias) se incluirán al usar @problems o al leer archivos con diagnósticos."
471+
"label": "Incluir automáticamente diagnósticos en el contexto",
472+
"description": "Cuando está habilitado, los mensajes de diagnóstico (errores) de los archivos editados se incluirán automáticamente en el contexto. Siempre puedes incluir manualmente todos los diagnósticos del espacio de trabajo usando @problems."
473473
},
474474
"maxMessages": {
475475
"label": "Máximo de mensajes de diagnóstico",
476-
"description": "Número máximo de mensajes de diagnóstico a incluir por archivo. Valores más altos proporcionan más contexto pero aumentan el uso de tokens."
476+
"description": "Número máximo de mensajes de diagnóstico a incluir por archivo. Este límite se aplica tanto a la inclusión automática (cuando la casilla está habilitada) como a las menciones manuales de @problems. Valores más altos proporcionan más contexto pero aumentan el uso de tokens.",
477+
"resetTooltip": "Restablecer al valor predeterminado (50)",
478+
"unlimited": "Mensajes de diagnóstico ilimitados"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/fr/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Inclure les messages de diagnostic dans le contexte",
472-
"description": "Lorsque cette option est activée, les messages de diagnostic (erreurs, avertissements) seront inclus lors de l'utilisation de @problems ou de la lecture de fichiers contenant des diagnostics."
471+
"label": "Inclure automatiquement les diagnostics dans le contexte",
472+
"description": "Lorsque cette option est activée, les messages de diagnostic (erreurs) des fichiers modifiés seront automatiquement inclus dans le contexte. Vous pouvez toujours inclure manuellement tous les diagnostics de l'espace de travail en utilisant @problems."
473473
},
474474
"maxMessages": {
475475
"label": "Nombre maximum de messages de diagnostic",
476-
"description": "Nombre maximum de messages de diagnostic à inclure par fichier. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation des jetons."
476+
"description": "Nombre maximum de messages de diagnostic à inclure par fichier. Cette limite s'applique à la fois à l'inclusion automatique (lorsque la case est cochée) et aux mentions manuelles @problems. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation des jetons.",
477+
"resetTooltip": "Réinitialiser à la valeur par défaut (50)",
478+
"unlimited": "Messages de diagnostic illimités"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/hi/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "संदर्भ में नैदानिक ​​संदेश शामिल करें",
472-
"description": "सक्षम होने पर, @problems का उपयोग करते समय या डायग्नोस्टिक्स वाली फ़ाइलों को पढ़ते समय नैदानिक ​​संदेश (त्रुटियां, चेतावनियां) शामिल किए जाएंगे"
471+
"label": "स्वचालित रूप से संदर्भ में डायग्नोस्टिक्स शामिल करें",
472+
"description": "जब सक्षम होता है, तो संपादित फ़ाइलों से डायग्नोस्टिक संदेश (त्रुटियां) स्वचालित रूप से संदर्भ में शामिल किए जाएंगे। आप हमेशा @problems का उपयोग करके सभी कार्यक्षेत्र डायग्नोस्टिक्स को मैन्युअल रूप से शामिल कर सकते हैं"
473473
},
474474
"maxMessages": {
475475
"label": "अधिकतम नैदानिक ​​संदेश",
476-
"description": "प्रति फ़ाइल शामिल किए जाने वाले नैदानिक ​​संदेशों की अधिकतम संख्या। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन टोकन उपयोग बढ़ाते हैं।"
476+
"description": "प्रति फ़ाइल शामिल किए जाने वाले नैदानिक ​​संदेशों की अधिकतम संख्या। यह सीमा स्वचालित समावेशन (जब चेकबॉक्स सक्षम है) और मैन्युअल @problems उल्लेख दोनों पर लागू होती है। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन टोकन उपयोग बढ़ाते हैं।",
477+
"resetTooltip": "डिफ़ॉल्ट मान पर रीसेट करें (50)",
478+
"unlimited": "असीमित डायग्नोस्टिक संदेश"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/id/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -450,12 +450,14 @@
450450
},
451451
"diagnostics": {
452452
"includeMessages": {
453-
"label": "Sertakan pesan diagnostik dalam konteks",
454-
"description": "Jika diaktifkan, pesan diagnostik (error, peringatan) akan disertakan saat menggunakan @problems atau saat membaca file dengan diagnostik."
453+
"label": "Secara otomatis sertakan diagnostik dalam konteks",
454+
"description": "Ketika diaktifkan, pesan diagnostik (error) dari file yang diedit akan secara otomatis disertakan dalam konteks. Kamu selalu dapat menyertakan semua diagnostik workspace secara manual menggunakan @problems."
455455
},
456456
"maxMessages": {
457457
"label": "Pesan diagnostik maksimum",
458-
"description": "Jumlah maksimum pesan diagnostik yang akan disertakan per file. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi meningkatkan penggunaan token."
458+
"description": "Jumlah maksimum pesan diagnostik yang akan disertakan per file. Batas ini berlaku untuk penyertaan otomatis (ketika checkbox diaktifkan) dan penyebutan manual @problems. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi meningkatkan penggunaan token.",
459+
"resetTooltip": "Reset ke nilai default (50)",
460+
"unlimited": "Pesan diagnostik tidak terbatas"
459461
}
460462
},
461463
"condensingThreshold": {

webview-ui/src/i18n/locales/it/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "Includi messaggi diagnostici nel contesto",
472-
"description": "Se abilitato, i messaggi diagnostici (errori, avvisi) verranno inclusi quando si utilizza @problems o quando si leggono file con diagnostica."
471+
"label": "Includi automaticamente la diagnostica nel contesto",
472+
"description": "Quando abilitato, i messaggi diagnostici (errori) dai file modificati verranno automaticamente inclusi nel contesto. Puoi sempre includere manualmente tutta la diagnostica del workspace usando @problems."
473473
},
474474
"maxMessages": {
475475
"label": "Numero massimo di messaggi diagnostici",
476-
"description": "Numero massimo di messaggi diagnostici da includere per file. Valori più alti forniscono più contesto ma aumentano l'utilizzo dei token."
476+
"description": "Numero massimo di messaggi diagnostici da includere per file. Questo limite si applica sia all'inclusione automatica (quando la casella è abilitata) che alle menzioni manuali di @problems. Valori più alti forniscono più contesto ma aumentano l'utilizzo dei token.",
477+
"resetTooltip": "Ripristina al valore predefinito (50)",
478+
"unlimited": "Messaggi diagnostici illimitati"
477479
}
478480
},
479481
"condensingThreshold": {

webview-ui/src/i18n/locales/ja/settings.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,14 @@
468468
},
469469
"diagnostics": {
470470
"includeMessages": {
471-
"label": "コンテキストに診断メッセージを含める",
472-
"description": "有効にすると、@problems を使用したり、診断情報を含むファイルを読み取ったりするときに、診断メッセージ(エラー、警告)が含まれます"
471+
"label": "診断を自動的にコンテキストに含める",
472+
"description": "有効にすると、編集されたファイルからの診断メッセージ(エラー)が自動的にコンテキストに含まれます。@problemsを使用して、いつでも手動ですべてのワークスペース診断を含めることができます"
473473
},
474474
"maxMessages": {
475475
"label": "最大診断メッセージ数",
476-
"description": "ファイルごとに含める診断メッセージの最大数。値を大きくするとコンテキストは増えますが、トークンの使用量も増えます。"
476+
"description": "ファイルごとに含める診断メッセージの最大数。この制限は、自動インクルード(チェックボックスが有効な場合)と手動の@problemsメンションの両方に適用されます。値を高くするとより多くのコンテキストが提供されますが、トークンの使用量が増加します。",
477+
"resetTooltip": "デフォルト値(50)にリセット",
478+
"unlimited": "無制限の診断メッセージ"
477479
}
478480
},
479481
"condensingThreshold": {

0 commit comments

Comments
 (0)