{t("settings:contextManagement.maxConcurrentFileReads.label")}
diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx
index 3a9cb539a8..586aa68c84 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 61444267f2..e224fb98cf 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 fb2adc0023..728ed6daa1 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 42043e3a72..c66f010b37 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 2a1a8ef19f..3538600828 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 a37389017f..6992587ecc 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 08b4d721f9..2cc0942bae 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 dc6d490013..9dbfa589e1 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 c687ca6093..df9f9eb0be 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 0641fe3e8d..86800e852d 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 5d0be4f59d..68001803e6 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 8c54ac2be2..cc2be56515 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 e0f558b4b7..68a40789a0 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 854403a51b..f21ebf46a1 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 3aa124af4e..8b337925d0 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 0874bf9f00..e89cf8395e 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 bae8bdd894..0a31812342 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 0d000a3c29..d1ef7159e7 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 744ea69746..c7e9a459d1 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 44a5716be3..64db4c2c7e 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": {