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

@@ -27,9 +27,9 @@ However, within this extension, you can run a development version of `vscode-jso
#### Linking `vscode-json-languageservice` in `json-language-features/server/`
- Clone [Microsoft/vscode-json-languageservice](https://github.com/Microsoft/vscode-json-languageservice)
- Run `yarn` in `vscode-json-languageservice`
- Run `yarn link` in `vscode-json-languageservice`. This will compile and link `vscode-json-languageservice`
- In `json-language-features/server/`, run `npm link vscode-json-languageservice`
- Run `npm install` in `vscode-json-languageservice`
- Run `npm link` in `vscode-json-languageservice`. This will compile and link `vscode-json-languageservice`
- In `json-language-features/server/`, run `yarn link vscode-json-languageservice`
#### Testing the development version of `vscode-json-languageservice`

View File

@@ -14,7 +14,7 @@
"dependencies": {
"jsonc-parser": "^2.0.3",
"request-light": "^0.2.4",
"vscode-json-languageservice": "^3.3.0-next.6",
"vscode-json-languageservice": "^3.3.0-next.7",
"vscode-languageserver": "^5.3.0-next.2",
"vscode-nls": "^4.0.0",
"vscode-uri": "^1.0.6"

View File

@@ -73,10 +73,10 @@ request-light@^0.2.4:
https-proxy-agent "^2.2.1"
vscode-nls "^4.0.0"
vscode-json-languageservice@^3.3.0-next.6:
version "3.3.0-next.6"
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.3.0-next.6.tgz#711f121b44ba443a89f3fb01a01c611f2547079f"
integrity sha512-i1tyLiodWc7y6lR9C4cat+OUSptj8Duk1Ybm1FaMzhNfOTFttSiwrBw1otNb+QwI65VEj7EAEBQHRLeQOWznMw==
vscode-json-languageservice@^3.3.0-next.7:
version "3.3.0-next.7"
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.3.0-next.7.tgz#3ad4bf31f37fa110676b2c0db69b5f4810bdd4b9"
integrity sha512-uKXnzoZrqNOPRa+FmUdoCpNU5KCLhy7yDGCAzzfn0mocsEllPcspjHcBDu9HJCfT165UkhulZ2gl5vVX5NzBVA==
dependencies:
jsonc-parser "^2.0.3"
vscode-languageserver-types "^3.14.0"

View File

@@ -15,6 +15,8 @@
"settings.textInputBackground": "#292929",
"settings.numberInputBackground": "#292929",
"menu.background": "#252526",
"menu.foreground": "#CCCCCC"
"menu.foreground": "#CCCCCC",
"statusBarItem.remoteForeground": "#FFF",
"statusBarItem.remoteBackground": "#16825D"
}
}

View File

@@ -14,6 +14,8 @@
"list.hoverBackground": "#E8E8E8",
"input.placeholderForeground": "#767676",
"settings.textInputBorder": "#CECECE",
"settings.numberInputBorder": "#CECECE"
"settings.numberInputBorder": "#CECECE",
"statusBarItem.remoteForeground": "#FFF",
"statusBarItem.remoteBackground": "#16825D"
}
}

View File

@@ -789,13 +789,19 @@ 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;
if (!silent) {
const that = this;
this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });
}
}
get(): T[] {
if (!this.elements) {
@@ -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(