提交 a834c0fb 编写于 作者: C Christof Marti

Use "search.useIgnoreFilesByDefault" in QuickOpen (fixes #34991)

上级 35b91522
......@@ -27,7 +27,7 @@ import { IResourceInput } from 'vs/platform/editor/common/editor';
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IQueryOptions, ISearchService, ISearchStats, ISearchQuery } from 'vs/platform/search/common/search';
import { IQueryOptions, ISearchService, ISearchStats, ISearchQuery, ISearchConfiguration } from 'vs/platform/search/common/search';
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IRange } from 'vs/editor/common/core/range';
......@@ -122,6 +122,7 @@ export class OpenFileHandler extends QuickOpenHandler {
@IWorkbenchThemeService private themeService: IWorkbenchThemeService,
@IWorkspaceContextService private contextService: IWorkspaceContextService,
@ISearchService private searchService: ISearchService,
@IConfigurationService private configurationService: IConfigurationService,
@IEnvironmentService private environmentService: IEnvironmentService
) {
super();
......@@ -149,7 +150,8 @@ export class OpenFileHandler extends QuickOpenHandler {
const query: IQueryOptions = {
extraFileResources: getOutOfWorkspaceEditorResources(this.editorGroupService, this.contextService),
filePattern: searchValue,
cacheKey: cacheKey
cacheKey: cacheKey,
disregardIgnoreFiles: !this.configurationService.getConfiguration<ISearchConfiguration>().search.useIgnoreFilesByDefault,
};
if (typeof maxSortedResults === 'number') {
......@@ -192,6 +194,7 @@ export class OpenFileHandler extends QuickOpenHandler {
extraFileResources: getOutOfWorkspaceEditorResources(this.editorGroupService, this.contextService),
filePattern: '',
cacheKey: cacheKey,
disregardIgnoreFiles: !this.configurationService.getConfiguration<ISearchConfiguration>().search.useIgnoreFilesByDefault,
maxResults: 0,
sortByScore: true,
};
......
......@@ -220,7 +220,7 @@ export class FileWalker {
let noSiblingsClauses: boolean;
let filePatternSeen = false;
if (useRipgrep) {
const ripgrep = spawnRipgrepCmd(folderQuery, this.config.includePattern, this.folderExcludePatterns.get(folderQuery.folder).expression);
const ripgrep = spawnRipgrepCmd(this.config, folderQuery, this.config.includePattern, this.folderExcludePatterns.get(folderQuery.folder).expression);
cmd = ripgrep.cmd;
noSiblingsClauses = !Object.keys(ripgrep.siblingClauses).length;
} else {
......
......@@ -10,18 +10,18 @@ import { isMacintosh as isMac } from 'vs/base/common/platform';
import * as glob from 'vs/base/common/glob';
import { normalizeNFD } from 'vs/base/common/strings';
import { IFolderSearch } from './search';
import { IFolderSearch, IRawSearch } from './search';
import { foldersToIncludeGlobs, foldersToRgExcludeGlobs } from './ripgrepTextSearch';
export function spawnRipgrepCmd(folderQuery: IFolderSearch, includePattern: glob.IExpression, excludePattern: glob.IExpression) {
const rgArgs = getRgArgs(folderQuery, includePattern, excludePattern);
export function spawnRipgrepCmd(config: IRawSearch, folderQuery: IFolderSearch, includePattern: glob.IExpression, excludePattern: glob.IExpression) {
const rgArgs = getRgArgs(config, folderQuery, includePattern, excludePattern);
return {
cmd: cp.spawn(rgPath, rgArgs.globArgs, { cwd: folderQuery.folder }),
siblingClauses: rgArgs.siblingClauses
};
}
function getRgArgs(folderQuery: IFolderSearch, includePattern: glob.IExpression, excludePattern: glob.IExpression) {
function getRgArgs(config: IRawSearch, folderQuery: IFolderSearch, includePattern: glob.IExpression, excludePattern: glob.IExpression) {
const args = ['--files', '--hidden', '--case-sensitive'];
// includePattern can't have siblingClauses
......@@ -36,8 +36,10 @@ function getRgArgs(folderQuery: IFolderSearch, includePattern: glob.IExpression,
.forEach(rgGlob => args.push('-g', `!${isMac ? normalizeNFD(rgGlob) : rgGlob}`));
siblingClauses = rgGlobs.siblingClauses;
// Don't use .gitignore or .ignore
args.push('--no-ignore');
if (config.disregardIgnoreFiles) {
// Don't use .gitignore or .ignore
args.push('--no-ignore');
}
// Follow symlinks
args.push('--follow');
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册