diff --git a/src/vs/workbench/services/search/node/ripgrepTextSearch.ts b/src/vs/workbench/services/search/node/ripgrepTextSearch.ts index 58c31d0ff63275ed5ba29413e581e00a3d022d91..05ecdc78c93ddecf2539bd2e604fbab523b51f6b 100644 --- a/src/vs/workbench/services/search/node/ripgrepTextSearch.ts +++ b/src/vs/workbench/services/search/node/ripgrepTextSearch.ts @@ -469,9 +469,11 @@ function getRgArgs(config: IRawSearch) { args.push('--follow'); } - // Set default encoding if only one folder is opened - if (config.folderQueries.length === 1 && config.folderQueries[0].fileEncoding && config.folderQueries[0].fileEncoding !== 'utf8') { - args.push('--encoding', encoding.toCanonicalName(config.folderQueries[0].fileEncoding)); + if (config.folderQueries[0]) { + const folder0Encoding = config.folderQueries[0].fileEncoding; + if (folder0Encoding && folder0Encoding !== 'utf8' && config.folderQueries.every(fq => fq.fileEncoding === folder0Encoding)) { + args.push('--encoding', encoding.toCanonicalName(folder0Encoding)); + } } // Ripgrep handles -- as a -- arg separator. Only --.