Merge from vscode 17c6d123d212f90300429ecad3fc96fcec6e338f (#9423)

This commit is contained in:
Anthony Dresser
2020-03-03 02:19:34 -08:00
committed by GitHub
parent 00d0e4778b
commit 886329cd67
7 changed files with 21 additions and 7 deletions

View File

@@ -179,6 +179,13 @@ steps:
zip -d $(agent.builddirectory)/VSCode-darwin.zip "*.pkg"
displayName: Clean Archive
- script: |
set -e
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
node build/azure-pipelines/common/createAsset.js darwin-unnotarized archive "VSCode-darwin-$VSCODE_QUALITY.zip" $(agent.builddirectory)/VSCode-darwin.zip
displayName: Publish Unnotarized Build
- script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin
APP_NAME="`ls $APP_ROOT | head -n 1`"

View File

@@ -160,7 +160,10 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
formatterMaxNumberOfEdits = params.initializationOptions?.customCapabilities?.rangeFormatting?.editLimit || Number.MAX_VALUE;
const capabilities: ServerCapabilities = {
textDocumentSync: TextDocumentSyncKind.Incremental,
completionProvider: clientSnippetSupport ? { resolveProvider: true, triggerCharacters: ['"', ':'] } : undefined,
completionProvider: clientSnippetSupport ? {
resolveProvider: false, // turn off resolving as the current language service doesn't do anything on resolve. Also fixes #91747
triggerCharacters: ['"', ':']
} : undefined,
hoverProvider: true,
documentSymbolProvider: true,
documentRangeFormattingProvider: params.initializationOptions.provideFormatter === true,

View File

@@ -219,7 +219,6 @@ export abstract class AbstractSynchroniser extends Disposable {
const stat = await this.fileService.resolve(this.syncFolder);
if (stat.children) {
const all = stat.children.filter(stat => stat.isFile && /^\d{8}T\d{6}(\.json)?$/.test(stat.name)).sort();
console.log(all.map(a => a.name));
const backUpMaxAge = 1000 * 60 * 60 * 24 * (this.configurationService.getValue<number>('sync.localBackupDuration') || 30 /* Default 30 days */);
let toDelete = all.filter(stat => {
const ctime = stat.ctime || new Date(

View File

@@ -96,7 +96,6 @@ export function registerConfiguration(): IDisposable {
const defaultIgnoredSettings = getDefaultIgnoredSettings().filter(s => s !== CONFIGURATION_SYNC_STORE_KEY);
const settings = Object.keys(allSettings.properties).filter(setting => defaultIgnoredSettings.indexOf(setting) === -1);
const ignoredSettings = defaultIgnoredSettings.filter(setting => disallowedIgnoredSettings.indexOf(setting) === -1);
console.log(ignoredSettings);
const ignoredSettingsSchema: IJSONSchema = {
items: {
type: 'string',

View File

@@ -49,6 +49,7 @@ import { fromNow } from 'vs/base/common/date';
import { IProductService } from 'vs/platform/product/common/productService';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { timeout } from 'vs/base/common/async';
const enum AuthStatus {
Initializing = 'Initializing',
@@ -510,7 +511,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
}
);
switch (result.choice) {
case 0: this.openerService.open(URI.parse('https://go.microsoft.com/fwlink/?LinkId=827846')); return;
case 0: this.openerService.open(URI.parse('https://aka.ms/vscode-settings-sync-help')); return;
case 2: return;
}
}
@@ -941,7 +942,8 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
quickPick.items = items;
disposables.add(quickPick.onDidAccept(() => {
if (quickPick.selectedItems[0] && quickPick.selectedItems[0].id) {
commandService.executeCommand(quickPick.selectedItems[0].id);
// Introduce timeout as workaround - #91661 #91740
timeout(0).then(() => commandService.executeCommand(quickPick.selectedItems[0].id!));
}
quickPick.hide();
}));

View File

@@ -613,6 +613,8 @@ export class ElectronWindow extends Disposable {
}
private trackClosedWaitFiles(waitMarkerFile: URI, resourcesToWaitFor: URI[]): IDisposable {
let remainingResourcesToWaitFor = resourcesToWaitFor.slice(0);
// In wait mode, listen to changes to the editors and wait until the files
// are closed that the user wants to wait for. When this happens we delete
// the wait marker file to signal to the outside that editing is done.
@@ -622,7 +624,7 @@ export class ElectronWindow extends Disposable {
// Remove from resources to wait for based on the
// resources from editors that got closed
resourcesToWaitFor = resourcesToWaitFor.filter(resourceToWaitFor => {
remainingResourcesToWaitFor = remainingResourcesToWaitFor.filter(resourceToWaitFor => {
if (isEqual(resourceToWaitFor, masterResource) || isEqual(resourceToWaitFor, detailsResource)) {
return false; // remove - the closing editor matches this resource
}
@@ -630,7 +632,7 @@ export class ElectronWindow extends Disposable {
return true; // keep - not yet closed
});
if (resourcesToWaitFor.length === 0) {
if (remainingResourcesToWaitFor.length === 0) {
// If auto save is configured with the default delay (1s) it is possible
// to close the editor while the save still continues in the background. As such
// we have to also check if the files to wait for are dirty and if so wait

View File

@@ -297,6 +297,8 @@ export class SimpleFileDialog {
function doResolve(dialog: SimpleFileDialog, uri: URI | undefined) {
if (uri) {
uri = resources.addTrailingPathSeparator(uri, dialog.separator); // Ensures that c: is c:/ since this comes from user input and can be incorrect.
// To be consistent, we should never have a trailing path separator on directories (or anything else). Will not remove from c:/.
uri = resources.removeTrailingPathSeparator(uri);
}
resolve(uri);