{t("settings:contextManagement.maxConcurrentFileReads.label")}
diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx
index 3a9cb539a8e..586aa68c84f 100644
--- a/webview-ui/src/components/settings/SettingsView.tsx
+++ b/webview-ui/src/components/settings/SettingsView.tsx
@@ -203,6 +203,7 @@ const SettingsView = forwardRef(({ onDone, t
reasoningBlockCollapsed,
includeCurrentTime,
includeCurrentCost,
+ maxGitStatusFiles,
} = cachedState
const apiConfiguration = useMemo(() => cachedState.apiConfiguration ?? {}, [cachedState.apiConfiguration])
@@ -395,6 +396,7 @@ const SettingsView = forwardRef(({ onDone, t
reasoningBlockCollapsed: reasoningBlockCollapsed ?? true,
includeCurrentTime: includeCurrentTime ?? true,
includeCurrentCost: includeCurrentCost ?? true,
+ maxGitStatusFiles: maxGitStatusFiles ?? 0,
profileThresholds,
openRouterImageApiKey,
openRouterImageGenerationSelectedModel,
@@ -764,6 +766,7 @@ const SettingsView = forwardRef(({ onDone, t
writeDelayMs={writeDelayMs}
includeCurrentTime={includeCurrentTime}
includeCurrentCost={includeCurrentCost}
+ maxGitStatusFiles={maxGitStatusFiles}
setCachedStateField={setCachedStateField}
/>
)}
diff --git a/webview-ui/src/components/settings/__tests__/ContextManagementSettings.spec.tsx b/webview-ui/src/components/settings/__tests__/ContextManagementSettings.spec.tsx
index 61444267f21..e224fb98cfe 100644
--- a/webview-ui/src/components/settings/__tests__/ContextManagementSettings.spec.tsx
+++ b/webview-ui/src/components/settings/__tests__/ContextManagementSettings.spec.tsx
@@ -19,10 +19,12 @@ vi.mock("@/hooks/useAppTranslation", () => ({
// Mock the UI components
vi.mock("@/components/ui", () => ({
...vi.importActual("@/components/ui"),
- Slider: ({ value, onValueChange, "data-testid": dataTestId, disabled }: any) => (
+ Slider: ({ value, onValueChange, "data-testid": dataTestId, disabled, min, max }: any) => (
onValueChange([parseFloat(e.target.value)])}
onKeyDown={(e) => {
const currentValue = value?.[0] ?? 0
@@ -455,13 +457,20 @@ describe("ContextManagementSettings", () => {
...defaultProps,
maxOpenTabsContext: 0,
maxWorkspaceFiles: 500,
+ maxGitStatusFiles: 0,
setCachedStateField: mockSetCachedStateField,
}
render()
- // Check boundary values are displayed
- expect(screen.getByText("0")).toBeInTheDocument() // min open tabs
- expect(screen.getByText("500")).toBeInTheDocument() // max workspace files
+ // Check boundary values are displayed by checking the slider values directly
+ const openTabsSlider = screen.getByTestId("open-tabs-limit-slider")
+ expect(openTabsSlider).toHaveValue("0")
+
+ const workspaceFilesSlider = screen.getByTestId("workspace-files-limit-slider")
+ expect(workspaceFilesSlider).toHaveValue("500")
+
+ const gitStatusSlider = screen.getByTestId("max-git-status-files-slider")
+ expect(gitStatusSlider).toHaveValue("0")
})
it("handles undefined optional props gracefully", () => {
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index fb2adc0023b..728ed6daa10 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -626,6 +626,10 @@
"includeCurrentCost": {
"label": "Inclou el cost actual en el context",
"description": "Quan està activat, el cost d'ús actual de l'API s'inclourà a la indicació del sistema. Desactiveu-ho si els models deixen de funcionar per problemes amb el cost."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status màx. fitxers",
+ "description": "Nombre màxim d'entrades de fitxers a incloure en el context d'estat de git. Establiu a 0 per desactivar. La informació de la branca i els commits sempre es mostren quan és > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index 42043e3a72b..c66f010b373 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -626,6 +626,10 @@
"includeCurrentCost": {
"label": "Aktuelle Kosten in den Kontext einbeziehen",
"description": "Wenn aktiviert, werden die aktuellen API-Nutzungskosten in den System-Prompt aufgenommen. Deaktiviere diese Option, wenn Modelle aufgrund von Kostenbedenken die Arbeit einstellen."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git-Status max. Dateien",
+ "description": "Maximale Anzahl von Dateieinträgen, die in den Git-Status-Kontext aufgenommen werden sollen. Auf 0 setzen, um zu deaktivieren. Branch-Informationen und Commits werden immer angezeigt, wenn > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index 2a1a8ef19fc..3538600828f 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -631,6 +631,10 @@
"includeCurrentCost": {
"label": "Include current cost in context",
"description": "When enabled, the current API usage cost will be included in the system prompt. Disable this if models are stopping work due to cost concerns."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status max files",
+ "description": "Maximum number of file entries to include in git status context. Set to 0 to disable. Branch info is always shown when > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index a37389017f4..6992587ecc6 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -626,6 +626,10 @@
"includeCurrentCost": {
"label": "Incluir costo actual en el contexto",
"description": "Cuando está habilitado, el costo de uso actual de la API se incluirá en el prompt del sistema. Deshabilítelo si los modelos dejan de funcionar por problemas de costos."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status máx. archivos",
+ "description": "Número máximo de entradas de archivo para incluir en el contexto de estado de git. Establézcalo en 0 para deshabilitar. La información de la rama y los commits siempre se muestran cuando es > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 08b4d721f9f..2cc0942bae4 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -626,6 +626,10 @@
"includeCurrentCost": {
"label": "Inclure le coût actuel dans le contexte",
"description": "Lorsque cette option est activée, le coût d'utilisation actuel de l'API sera inclus dans le prompt système. Désactivez cette option si les modèles cessent de fonctionner en raison de problèmes de coût."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status max fichiers",
+ "description": "Nombre maximum de fichiers à inclure dans le contexte de statut git. Mettre à 0 pour désactiver. Les informations de branche et les commits sont toujours affichés si > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index dc6d4900134..9dbfa589e13 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "संदर्भ में वर्तमान लागत शामिल करें",
"description": "सक्षम होने पर, वर्तमान एपीआई उपयोग लागत सिस्टम प्रॉम्प्ट में शामिल की जाएगी। यदि मॉडल लागत संबंधी चिंताओं के कारण काम करना बंद कर देते हैं तो इसे अक्षम करें।"
+ },
+ "maxGitStatusFiles": {
+ "label": "गिट स्थिति अधिकतम फ़ाइलें",
+ "description": "गिट स्थिति संदर्भ में शामिल करने के लिए फ़ाइल प्रविष्टियों की अधिकतम संख्या। अक्षम करने के लिए 0 पर सेट करें। शाखा जानकारी और कमिट हमेशा दिखाए जाते हैं जब > 0 होता है।"
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json
index c687ca6093d..df9f9eb0be1 100644
--- a/webview-ui/src/i18n/locales/id/settings.json
+++ b/webview-ui/src/i18n/locales/id/settings.json
@@ -631,6 +631,10 @@
"includeCurrentCost": {
"label": "Sertakan biaya saat ini dalam konteks",
"description": "Ketika diaktifkan, biaya penggunaan API saat ini akan disertakan dalam prompt sistem. Nonaktifkan ini jika model berhenti bekerja karena masalah biaya."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status maks file",
+ "description": "Jumlah maksimum entri file untuk disertakan dalam konteks status git. Atur ke 0 untuk menonaktifkan. Info cabang dan commit selalu ditampilkan saat > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index 0641fe3e8d9..86800e852da 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Includi il costo corrente nel contesto",
"description": "Se abilitato, il costo di utilizzo corrente dell'API verrà incluso nel prompt di sistema. Disabilita questa opzione se i modelli smettono di funzionare a causa di problemi di costo."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status max file",
+ "description": "Numero massimo di voci di file da includere nel contesto dello stato di git. Imposta a 0 per disabilitare. Le informazioni sul ramo e sui commit vengono sempre mostrate quando > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index 5d0be4f59d5..68001803e62 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "現在のコストをコンテキストに含める",
"description": "有効にすると、現在のAPI使用コストがシステムプロンプトに含まれます。モデルがコストに関する懸念で動作を停止する場合は無効にしてください。"
+ },
+ "maxGitStatusFiles": {
+ "label": "Gitステータス最大ファイル数",
+ "description": "gitステータスコンテキストに含めるファイルエントリの最大数。無効にするには0に設定します。ブランチ情報とコミットは、> 0の場合に常に表示されます。"
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 8c54ac2be23..cc2be56515c 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "컨텍스트에 현재 비용 포함",
"description": "활성화하면 현재 API 사용 비용이 시스템 프롬프트에 포함됩니다. 비용 문제로 모델이 작동을 멈추면 비활성화하세요."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git 상태 최대 파일",
+ "description": "git 상태 컨텍스트에 포함할 최대 파일 항목 수입니다. 비활성화하려면 0으로 설정하세요. 분기 정보와 커밋은 > 0일 때 항상 표시됩니다."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index e0f558b4b7a..68a40789a06 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Huidige kosten opnemen in context",
"description": "Indien ingeschakeld, worden de huidige API-gebruikskosten opgenomen in de systeemprompt. Schakel dit uit als modellen stoppen met werken vanwege kostenproblemen."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status max bestanden",
+ "description": "Maximum aantal bestandsvermeldingen dat in de git-statuscontext moet worden opgenomen. Stel in op 0 om uit te schakelen. Branch-info en commits worden altijd getoond wanneer > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index 854403a51b2..f21ebf46a16 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Uwzględnij bieżący koszt w kontekście",
"description": "Gdy włączone, bieżący koszt użycia API zostanie uwzględniony w promptcie systemowym. Wyłącz, jeśli modele przestają działać z powodu problemów z kosztami."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status maks. plików",
+ "description": "Maksymalna liczba wpisów plików do uwzględnienia w kontekście statusu git. Ustaw na 0, aby wyłączyć. Informacje o gałęzi i zatwierdzenia są zawsze pokazywane, gdy > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index 3aa124af4ea..8b337925d07 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Incluir custo atual no contexto",
"description": "Quando ativado, o custo de uso atual da API será incluído no prompt do sistema. Desative se os modelos pararem de funcionar por problemas de custo."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status máx. arquivos",
+ "description": "Número máximo de entradas de arquivo a serem incluídas no contexto de status do git. Defina como 0 para desativar. Informações sobre o branch e os commits são sempre exibidos quando > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index 0874bf9f005..e89cf8395e1 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Включить текущую стоимость в контекст",
"description": "Если включено, текущая стоимость использования API будет включена в системную подсказку. Отключите, если модели прекращают работу из-за проблем со стоимостью."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git статус макс. файлов",
+ "description": "Максимальное количество записей файлов для включения в контекст статуса git. Установите значение 0, чтобы отключить. Информация о ветке и коммитах всегда отображается, если значение > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index bae8bdd8947..0a31812342f 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Mevcut maliyeti bağlama dahil et",
"description": "Etkinleştirildiğinde, mevcut API kullanım maliyeti sistem istemine dahil edilecektir. Modeller maliyet endişeleri nedeniyle çalışmayı durdurursa bunu devre dışı bırakın."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git durumu maks. dosya",
+ "description": "Git durum bağlamına dahil edilecek maksimum dosya girişi sayısı. Devre dışı bırakmak için 0 olarak ayarlayın. Dal bilgisi ve commit'ler > 0 olduğunda her zaman gösterilir."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index 0d000a3c294..d1ef7159e73 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "Bao gồm chi phí hiện tại trong ngữ cảnh",
"description": "Khi được bật, chi phí sử dụng API hiện tại sẽ được bao gồm trong lời nhắc hệ thống. Tắt nếu các mô hình ngừng hoạt động do lo ngại về chi phí."
+ },
+ "maxGitStatusFiles": {
+ "label": "Git status tệp tối đa",
+ "description": "Số lượng mục tệp tối đa để bao gồm trong ngữ cảnh trạng thái git. Đặt thành 0 để tắt. Thông tin nhánh và các commit luôn được hiển thị khi > 0."
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 744ea697467..c7e9a459d11 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "在上下文中包含当前成本",
"description": "启用后,当前 API 使用成本将包含在系统提示中。如果模型因成本问题停止工作,请禁用此选项。"
+ },
+ "maxGitStatusFiles": {
+ "label": "Git 状态最大文件数",
+ "description": "git状态上下文中包含的最大文件条目数。设为0禁用。分支信息和提交在>0时始终显示。"
}
},
"terminal": {
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 44a5716be34..64db4c2c7eb 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -627,6 +627,10 @@
"includeCurrentCost": {
"label": "在上下文中包含目前成本",
"description": "啟用後,目前 API 使用成本將包含在系統提示中。如果模型因成本問題停止工作,請停用此選項。"
+ },
+ "maxGitStatusFiles": {
+ "label": "Git 狀態最大檔案數",
+ "description": "git狀態上下文中包含的最大檔案條目數。設為0禁用。分支資訊和提交在>0時始終顯示。"
}
},
"terminal": {