未验证 提交 a7618273 编写于 作者: J Johannes Rieken 提交者: GitHub

Merge branch 'master' into joh/continous-browser-tests

......@@ -35,6 +35,10 @@
opacity: .5;
}
.monaco-workbench .bulk-edit-panel .monaco-tl-contents .monaco-icon-label.delete .monaco-icon-label-container {
text-decoration: line-through;
}
.monaco-workbench .bulk-edit-panel .monaco-tl-contents .details {
margin-left: .5em;
opacity: .7;
......
......@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import 'vs/css!./media/bulkEdit';
import 'vs/css!./bulkEdit';
import { WorkbenchAsyncDataTree, TreeResourceNavigator, IOpenEvent } from 'vs/platform/list/browser/listService';
import { WorkspaceEdit } from 'vs/editor/common/modes';
import { BulkEditElement, BulkEditDelegate, TextEditElementRenderer, FileElementRenderer, BulkEditDataSource, BulkEditIdentityProvider, FileElement, TextEditElement, BulkEditAccessibilityProvider, BulkEditAriaProvider, CategoryElementRenderer, BulkEditNaviLabelProvider, CategoryElement } from 'vs/workbench/contrib/bulkEdit/browser/bulkEditTree';
......
......@@ -459,19 +459,21 @@ class FileElementTemplate {
} else {
// create, delete, edit: NAME
this._label.setFile(element.edit.uri, {
const options = {
matches: createMatches(score),
fileKind: FileKind.FILE,
fileDecorations: { colors: true, badges: false },
});
extraClasses: <string[]>[]
};
if (element.edit.type & BulkFileOperationType.Create) {
this._details.innerText = localize('detail.create', "(creating)");
} else if (element.edit.type & BulkFileOperationType.Delete) {
this._details.innerText = localize('detail.del', "(deleting)");
options.extraClasses.push('delete');
} else {
this._details.innerText = '';
}
this._label.setFile(element.edit.uri, options);
}
}
}
......
......@@ -104,7 +104,7 @@ export function renderVariable(variable: Variable, data: IVariableTemplateData,
}
data.label.set(text, highlights, variable.type ? variable.type : variable.name);
dom.toggleClass(data.name, 'virtual', !!variable.presentationHint && variable.presentationHint.kind === 'virtual');
} else if (variable.value && typeof variable.name === 'string') {
} else if (variable.value && typeof variable.name === 'string' && variable.name) {
data.label.set(':');
}
......
......@@ -912,7 +912,13 @@ export class DebugService implements IDebugService {
private sendExceptionBreakpoints(session?: IDebugSession): Promise<void> {
const enabledExceptionBps = this.model.getExceptionBreakpoints().filter(exb => exb.enabled);
return sendToOneOrAllSessions(this.model, session, s => s.sendExceptionBreakpoints(enabledExceptionBps));
return sendToOneOrAllSessions(this.model, session, async s => {
if (s.capabilities.supportsConfigurationDoneRequest && (!s.capabilities.exceptionBreakpointFilters || s.capabilities.exceptionBreakpointFilters.length === 0)) {
// Only call `setExceptionBreakpoints` as specified in dap protocol #90001
return;
}
await s.sendExceptionBreakpoints(enabledExceptionBps);
});
}
private onFileChanges(fileChangesEvent: FileChangesEvent): void {
......
......@@ -146,6 +146,7 @@ export class ExplorerView extends ViewPane {
private dragHandler!: DelayedDragHandler;
private autoReveal = false;
private actions: IAction[] | undefined;
private decorationsProvider: ExplorerDecorationsProvider | undefined;
constructor(
options: IViewPaneOptions,
......@@ -159,7 +160,7 @@ export class ExplorerView extends ViewPane {
@IKeybindingService keybindingService: IKeybindingService,
@IContextKeyService private readonly contextKeyService: IContextKeyService,
@IConfigurationService configurationService: IConfigurationService,
@IDecorationsService decorationService: IDecorationsService,
@IDecorationsService private readonly decorationService: IDecorationsService,
@ILabelService private readonly labelService: ILabelService,
@IThemeService private readonly themeService: IWorkbenchThemeService,
@IMenuService private readonly menuService: IMenuService,
......@@ -183,10 +184,6 @@ export class ExplorerView extends ViewPane {
this.compressedFocusLastContext = ExplorerCompressedLastFocusContext.bindTo(contextKeyService);
this.explorerService.registerContextProvider(this);
const decorationProvider = new ExplorerDecorationsProvider(this.explorerService, contextService);
this._register(decorationService.registerDecorationsProvider(decorationProvider));
this._register(decorationProvider);
}
get name(): string {
......@@ -582,7 +579,7 @@ export class ExplorerView extends ViewPane {
return DOM.getLargestChildWidth(parentNode, childNodes);
}
private setTreeInput(): Promise<void> {
private async setTreeInput(): Promise<void> {
if (!this.isBodyVisible()) {
this.shouldRefresh = true;
return Promise.resolve(undefined);
......@@ -631,7 +628,11 @@ export class ExplorerView extends ViewPane {
delay: this.layoutService.isRestored() ? 800 : 1200 // less ugly initial startup
}, _progress => promise);
return promise;
await promise;
if (!this.decorationsProvider) {
this.decorationsProvider = new ExplorerDecorationsProvider(this.explorerService, this.contextService);
this._register(this.decorationService.registerDecorationsProvider(this.decorationsProvider));
}
}
private getActiveFile(): URI | undefined {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册