提交 c97ef3c4 编写于 作者: I IllusionMH

Option to specify actions alignment in search

上级 9f533655
...@@ -333,6 +333,7 @@ export interface ISearchConfigurationProperties { ...@@ -333,6 +333,7 @@ export interface ISearchConfigurationProperties {
useReplacePreview: boolean; useReplacePreview: boolean;
showLineNumbers: boolean; showLineNumbers: boolean;
usePCRE2: boolean; usePCRE2: boolean;
actionsPosition: 'auto' | 'right';
} }
export interface ISearchConfiguration extends IFilesConfiguration { export interface ISearchConfiguration extends IFilesConfiguration {
......
...@@ -179,18 +179,6 @@ ...@@ -179,18 +179,6 @@
padding: 0; padding: 0;
} }
.search-view:not(.wide) .foldermatch .monaco-icon-label,
.search-view:not(.wide) .filematch .monaco-icon-label {
flex: 1;
}
.search-view:not(.wide) .monaco-tree .monaco-tree-row:hover:not(.highlighted) .foldermatch .monaco-icon-label,
.search-view:not(.wide) .monaco-tree .monaco-tree-row.focused .foldermatch .monaco-icon-label,
.search-view:not(.wide) .monaco-tree .monaco-tree-row:hover:not(.highlighted) .filematch .monaco-icon-label,
.search-view:not(.wide) .monaco-tree .monaco-tree-row.focused .filematch .monaco-icon-label {
flex: 1;
}
.search-view .foldermatch .directory, .search-view .foldermatch .directory,
.search-view .filematch .directory { .search-view .filematch .directory {
opacity: 0.7; opacity: 0.7;
...@@ -198,8 +186,8 @@ ...@@ -198,8 +186,8 @@
margin-left: 0.8em; margin-left: 0.8em;
} }
.search-view.wide .foldermatch .badge, .search-view .foldermatch .badge,
.search-view.wide .filematch .badge { .search-view .filematch .badge {
margin-left: 10px; margin-left: 10px;
} }
...@@ -246,15 +234,11 @@ ...@@ -246,15 +234,11 @@
.search-view .monaco-tree .monaco-tree-row:hover:not(.highlighted) .monaco-action-bar, .search-view .monaco-tree .monaco-tree-row:hover:not(.highlighted) .monaco-action-bar,
.search-view .monaco-tree .monaco-tree-row.focused .monaco-action-bar { .search-view .monaco-tree .monaco-tree-row.focused .monaco-action-bar {
display: inline-block; display: block;
}
.search-view:not(.wide) .monaco-tree .monaco-tree-row .linematch .actionBarContainer {
flex: 1;
} }
.search-view:not(.wide) .monaco-tree .monaco-tree-row .monaco-action-bar { .search-view:not(.wide) .monaco-tree .monaco-tree-row .monaco-action-bar {
float: right; flex: 1 0 auto;
} }
.search-view .monaco-tree .monaco-tree-row .monaco-action-bar .action-label { .search-view .monaco-tree .monaco-tree-row .monaco-action-bar .action-label {
......
...@@ -235,8 +235,7 @@ export class SearchRenderer extends Disposable implements IRenderer { ...@@ -235,8 +235,7 @@ export class SearchRenderer extends Disposable implements IRenderer {
const replace = DOM.append(parent, DOM.$('span.replaceMatch')); const replace = DOM.append(parent, DOM.$('span.replaceMatch'));
const after = DOM.append(parent, DOM.$('span')); const after = DOM.append(parent, DOM.$('span'));
const lineNumber = DOM.append(container, DOM.$('span.matchLineNum')); const lineNumber = DOM.append(container, DOM.$('span.matchLineNum'));
const actionBarContainer = DOM.append(container, DOM.$('span.actionBarContainer')); const actions = new ActionBar(container, { animated: false });
const actions = new ActionBar(actionBarContainer, { animated: false });
return { return {
parent, parent,
......
...@@ -32,7 +32,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti ...@@ -32,7 +32,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { TreeResourceNavigator, WorkbenchTree } from 'vs/platform/list/browser/listService'; import { TreeResourceNavigator, WorkbenchTree } from 'vs/platform/list/browser/listService';
import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
import { IProgressService } from 'vs/platform/progress/common/progress'; import { IProgressService } from 'vs/platform/progress/common/progress';
import { IPatternInfo, ISearchComplete, ISearchConfiguration, ISearchHistoryService, ISearchHistoryValues, ISearchProgressItem, ITextQuery, VIEW_ID, SearchErrorCode } from 'vs/platform/search/common/search'; import { IPatternInfo, ISearchComplete, ISearchConfiguration, ISearchHistoryService, ISearchHistoryValues, ISearchProgressItem, ITextQuery, VIEW_ID, SearchErrorCode, ISearchConfigurationProperties } from 'vs/platform/search/common/search';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { diffInserted, diffInsertedOutline, diffRemoved, diffRemovedOutline, editorFindMatchHighlight, editorFindMatchHighlightBorder, listActiveSelectionForeground } from 'vs/platform/theme/common/colorRegistry'; import { diffInserted, diffInsertedOutline, diffRemoved, diffRemovedOutline, editorFindMatchHighlight, editorFindMatchHighlightBorder, listActiveSelectionForeground } from 'vs/platform/theme/common/colorRegistry';
...@@ -785,11 +785,9 @@ export class SearchView extends Viewlet implements IViewlet, IPanel { ...@@ -785,11 +785,9 @@ export class SearchView extends Viewlet implements IViewlet, IPanel {
return; return;
} }
if (this.size.width >= SearchView.WIDE_VIEW_SIZE) { const actionsPosition = this.configurationService.getValue<ISearchConfigurationProperties>('search').actionsPosition;
dom.addClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); const useWideLayout = this.size.width >= SearchView.WIDE_VIEW_SIZE && actionsPosition === 'auto';
} else { dom.toggleClass(this.getContainer(), SearchView.WIDE_CLASS_NAME, useWideLayout);
dom.removeClass(this.getContainer(), SearchView.WIDE_CLASS_NAME);
}
this.searchWidget.setWidth(this.size.width - 28 /* container margin */); this.searchWidget.setWidth(this.size.width - 28 /* container margin */);
......
...@@ -674,6 +674,12 @@ configurationRegistry.registerConfiguration({ ...@@ -674,6 +674,12 @@ configurationRegistry.registerConfiguration({
type: 'boolean', type: 'boolean',
default: false, default: false,
description: nls.localize('search.usePCRE2', "Whether to use the PCRE2 regex engine in text search. This enables using some advanced regex features like lookbehind and backreferences. However, not all PCRE2 features are supported - only features that are also supported by JavaScript.") description: nls.localize('search.usePCRE2', "Whether to use the PCRE2 regex engine in text search. This enables using some advanced regex features like lookbehind and backreferences. However, not all PCRE2 features are supported - only features that are also supported by JavaScript.")
},
'search.actionsPosition': {
type: 'string',
enum: ['auto', 'right'],
default: 'auto',
description: nls.localize('search.actionsPosition', "Controls whether to show actions at the end of match or always aligned to the right in wide panels.")
} }
} }
}); });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册