Merge from vscode 8ef8aa6b3cb5b96870660fdd3bb8d0755e62fe51 (#5422)

This commit is contained in:
Anthony Dresser
2019-05-09 11:10:57 -07:00
committed by GitHub
parent 1cc3cb5408
commit 2b9a8b9136
15 changed files with 113 additions and 54 deletions

View File

@@ -789,12 +789,18 @@ class Trait<T> {
return;
}
this._set(nodes, false, browserEvent);
}
private _set(nodes: ITreeNode<T, any>[], silent: boolean, browserEvent?: UIEvent): void {
this.nodes = [...nodes];
this.elements = undefined;
this._nodeSet = undefined;
const that = this;
this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });
if (!silent) {
const that = this;
this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });
}
}
get(): T[] {
@@ -827,6 +833,7 @@ class Trait<T> {
insertedNodes.forEach(node => dfs(node, insertedNodesVisitor));
const nodes: ITreeNode<T, any>[] = [];
let silent = true;
for (const node of this.nodes) {
const id = this.identityProvider.getId(node.element).toString();
@@ -839,11 +846,13 @@ class Trait<T> {
if (insertedNode) {
nodes.push(insertedNode);
} else {
silent = false;
}
}
}
this.set(nodes);
this._set(nodes, silent);
}
private createNodeSet(): Set<ITreeNode<T, any>> {

37
src/vs/vscode.d.ts vendored
View File

@@ -8970,7 +8970,7 @@ declare module 'vscode' {
/**
* The uri of the document the thread has been created on.
*/
readonly resource: Uri;
readonly uri: Uri;
/**
* The range the comment thread is located within the document. The thread icon will be shown
@@ -9003,18 +9003,6 @@ declare module 'vscode' {
*/
acceptInputCommand?: Command;
/**
* Optional additonal commands.
*
* `additionalCommands` are the secondary actions rendered on Comment Widget.
*/
additionalCommands?: Command[];
/**
* The command to be executed when users try to delete the comment thread. Currently, this is only called
* when the user collapses a comment thread that has no comments in it.
*/
deleteCommand?: Command;
/**
* Dispose this comment thread.
@@ -9040,6 +9028,22 @@ declare module 'vscode' {
iconPath?: Uri;
}
/**
* Author information of a [comment](#Comment)
*/
export interface CommentAuthorInformation {
/**
* The display name of the author of the comment
*/
name: string;
/**
* The optional icon path for the author
*/
iconPath?: Uri;
}
/**
* A comment is displayed within the editor or the Comments Panel, depending on how it is provided.
*/
@@ -9074,11 +9078,6 @@ declare module 'vscode' {
* The command to be executed when users try to save the edits to the comment
*/
editCommand?: Command;
/**
* The command to be executed when users try to delete the comment
*/
deleteCommand?: Command;
}
/**
@@ -9193,7 +9192,7 @@ declare module 'vscode' {
* @param range The range the comment thread is located within the document.
* @param comments The ordered comments of the thread.
*/
createCommentThread(id: string, resource: Uri, range: Range, comments: Comment[]): CommentThread;
createCommentThread(id: string, uri: Uri, range: Range, comments: Comment[]): CommentThread;
/**
* Dispose this comment controller.

View File

@@ -792,6 +792,11 @@ declare module 'vscode' {
*/
isDraft?: boolean;
/**
* The command to be executed when users try to delete the comment
*/
deleteCommand?: Command;
/**
* Proposed Comment Reaction
*/
@@ -905,6 +910,26 @@ declare module 'vscode' {
toggleReaction?(document: TextDocument, comment: Comment, reaction: CommentReaction): Promise<void>;
}
export interface CommentThread {
/**
* The uri of the document the thread has been created on.
*/
readonly resource: Uri;
/**
* Optional additonal commands.
*
* `additionalCommands` are the secondary actions rendered on Comment Widget.
*/
additionalCommands?: Command[];
/**
* The command to be executed when users try to delete the comment thread. Currently, this is only called
* when the user collapses a comment thread that has no comments in it.
*/
deleteCommand?: Command;
}
export interface CommentController {
/**

View File

@@ -385,7 +385,11 @@ export class ExtHostCommentThread implements vscode.CommentThread {
}
get resource(): vscode.Uri {
return this._resource;
return this._uri;
}
get uri(): vscode.Uri {
return this._uri;
}
private _onDidUpdateCommentThread = new Emitter<void>();
@@ -476,7 +480,7 @@ export class ExtHostCommentThread implements vscode.CommentThread {
private readonly _commandsConverter: CommandsConverter,
private _commentController: ExtHostCommentController,
private _id: string,
private _resource: vscode.Uri,
private _uri: vscode.Uri,
private _range: vscode.Range,
private _comments: vscode.Comment[]
) {
@@ -484,7 +488,7 @@ export class ExtHostCommentThread implements vscode.CommentThread {
this._commentController.handle,
this.handle,
this._id,
this._resource,
this._uri,
extHostTypeConverter.Range.from(this._range)
);
@@ -513,7 +517,7 @@ export class ExtHostCommentThread implements vscode.CommentThread {
this._commentController.handle,
this.handle,
this._id,
this._resource,
this._uri,
commentThreadRange,
label,
comments,
@@ -717,6 +721,7 @@ function convertFromCommentThread(commentThread: modes.CommentThread): vscode.Co
return {
id: commentThread.threadId!,
threadId: commentThread.threadId!,
uri: URI.parse(commentThread.resource!),
resource: URI.parse(commentThread.resource!),
range: extHostTypeConverter.Range.to(commentThread.range),
comments: commentThread.comments ? commentThread.comments.map(convertFromComment) : [],

View File

@@ -47,7 +47,8 @@
.quick-input-header {
display: flex;
padding: 6px 6px 4px 6px;
padding: 6px 6px 0px 6px;
margin-bottom: -2px;
}
.quick-input-and-message {
@@ -98,13 +99,13 @@
.quick-input-action .monaco-text-button {
font-size: 85%;
padding: 7px 6px 6px 6px;
padding: 7px 6px 5.5px 6px;
line-height: initial;
}
.quick-input-message {
margin-top: -1px;
padding: 6px 5px 2px 5px;
padding: 5px 5px 2px 5px;
}
.quick-input-progress.monaco-progress-container {

View File

@@ -307,9 +307,11 @@ class QuickInput implements IQuickInput {
const styles = this.ui.inputBox.stylesForType(severity);
this.ui.message.style.backgroundColor = styles.background ? `${styles.background}` : null;
this.ui.message.style.border = styles.border ? `1px solid ${styles.border}` : null;
this.ui.message.style.paddingBottom = '4px';
} else {
this.ui.message.style.backgroundColor = '';
this.ui.message.style.border = '';
this.ui.message.style.paddingBottom = '';
}
}

View File

@@ -309,19 +309,6 @@ export const STATUS_BAR_PROMINENT_ITEM_HOVER_BACKGROUND = registerColor('statusB
hc: Color.black.transparent(0.3),
}, nls.localize('statusBarProminentItemHoverBackground', "Status bar prominent items background color when hovering. Prominent items stand out from other status bar entries to indicate importance. Change mode `Toggle Tab Key Moves Focus` from command palette to see an example. The status bar is shown in the bottom of the window."));
export const STATUS_BAR_HOST_NAME_BACKGROUND = registerColor('statusBarItem.remoteBackground', {
dark: '#16825D',
light: '#16825D',
hc: '#FFFFFF00'
}, nls.localize('statusBarItemHostBackground', "Background color for the remote indicator on the status bar."));
export const STATUS_BAR_HOST_NAME_FOREGROUND = registerColor('statusBarItem.remoteForeground', {
dark: '#FFFFFF',
light: '#FFFFFF',
hc: '#FFFFFF'
}, nls.localize('statusBarItemHostForeground', "Foreground color for the remote indicator on the status bar."));
// < --- Activity Bar --- >
export const ACTIVITY_BAR_BACKGROUND = registerColor('activityBar.background', {
@@ -366,6 +353,21 @@ export const ACTIVITY_BAR_BADGE_FOREGROUND = registerColor('activityBarBadge.for
hc: Color.white
}, nls.localize('activityBarBadgeForeground', "Activity notification badge foreground color. The activity bar is showing on the far left or right and allows to switch between views of the side bar."));
// < --- Remote --- >
export const STATUS_BAR_HOST_NAME_BACKGROUND = registerColor('statusBarItem.remoteBackground', {
dark: ACTIVITY_BAR_BADGE_BACKGROUND,
light: ACTIVITY_BAR_BADGE_BACKGROUND,
hc: ACTIVITY_BAR_BADGE_BACKGROUND
}, nls.localize('statusBarItemHostBackground', "Background color for the remote indicator on the status bar."));
export const STATUS_BAR_HOST_NAME_FOREGROUND = registerColor('statusBarItem.remoteForeground', {
dark: ACTIVITY_BAR_BADGE_FOREGROUND,
light: ACTIVITY_BAR_BADGE_FOREGROUND,
hc: ACTIVITY_BAR_BADGE_FOREGROUND
}, nls.localize('statusBarItemHostForeground', "Foreground color for the remote indicator on the status bar."));
export const EXTENSION_BADGE_REMOTE_BACKGROUND = registerColor('extensionBadge.remoteBackground', {
dark: ACTIVITY_BAR_BADGE_BACKGROUND,
light: ACTIVITY_BAR_BADGE_BACKGROUND,

View File

@@ -173,7 +173,7 @@ class OpenExtensionAction extends Action {
}
}
export class ExtensionsTree extends WorkbenchAsyncDataTree<IExtensionData, any> {
export class ExtensionsTree extends WorkbenchAsyncDataTree<IExtensionData, IExtensionData> {
constructor(
input: IExtensionData,
@@ -212,7 +212,9 @@ export class ExtensionsTree extends WorkbenchAsyncDataTree<IExtensionData, any>
this.setInput(input);
this.disposables.push(this.onDidChangeSelection(event => {
extensionsWorkdbenchService.open(event.elements[0], event.browserEvent instanceof MouseEvent && (event.browserEvent.ctrlKey || event.browserEvent.metaKey || event.browserEvent.altKey));
if (event.browserEvent && event.browserEvent instanceof KeyboardEvent) {
extensionsWorkdbenchService.open(event.elements[0].extension, false);
}
}));
}
}

View File

@@ -1066,6 +1066,7 @@ export class SettingsEditor2 extends BaseEditor {
}
this.tocTree.setFocus([]);
this.viewState.filterToCategory = undefined;
this.tocTreeModel.currentSearchModel = this.searchResultModel;
this.onSearchModeToggled();
@@ -1207,6 +1208,7 @@ export class SettingsEditor2 extends BaseEditor {
}
this.tocTree.setFocus([]);
this.viewState.filterToCategory = undefined;
this.tocTree.expandAll();
this.renderTree(undefined, true);

View File

@@ -476,6 +476,14 @@ Registry.as<ViewletRegistry>(ViewletExtensions.Viewlets).registerViewlet(new Vie
1
));
Registry.as<PanelRegistry>(PanelExtensions.Panels).registerPanel(new PanelDescriptor(
SearchPanel,
PANEL_ID,
nls.localize('name', "Search"),
'search',
10
));
class RegisterSearchViewContribution implements IWorkbenchContribution {
constructor(