mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
VS Code merge to df8fe74bd55313de0dd2303bc47a4aab0ca56b0e (#17979)
* Merge from vscode 504f934659740e9d41501cad9f162b54d7745ad9 * delete unused folders * distro * Bump build node version * update chokidar * FIx hygiene errors * distro * Fix extension lint issues * Remove strict-vscode * Add copyright header exemptions * Bump vscode-extension-telemetry to fix webpacking issue with zone.js * distro * Fix failing tests (revert marked.js back to current one until we decide to update) * Skip searchmodel test * Fix mac build * temp debug script loading * Try disabling coverage * log error too * Revert "log error too" This reverts commit af0183e5d4ab458fdf44b88fbfab9908d090526f. * Revert "temp debug script loading" This reverts commit 3d687d541c76db2c5b55626c78ae448d3c25089c. * Add comments explaining coverage disabling * Fix ansi_up loading issue * Merge latest from ads * Use newer option * Fix compile * add debug logging warn * Always log stack * log more * undo debug * Update to use correct base path (+cleanup) * distro * fix compile errors * Remove strict-vscode * Fix sql editors not showing * Show db dropdown input & fix styling * Fix more info in gallery * Fix gallery asset requests * Delete unused workflow * Fix tapable resolutions for smoke test compile error * Fix smoke compile * Disable crash reporting * Disable interactive Co-authored-by: ADS Merger <karlb@microsoft.com>
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
|
||||
export interface ILocalization {
|
||||
languageId: string;
|
||||
@@ -22,8 +21,6 @@ export interface ITranslation {
|
||||
export const ILocalizationsService = createDecorator<ILocalizationsService>('localizationsService');
|
||||
export interface ILocalizationsService {
|
||||
readonly _serviceBrand: undefined;
|
||||
|
||||
readonly onDidLanguagesChange: Event<void>;
|
||||
getLanguageIds(): Promise<string[]>;
|
||||
}
|
||||
|
||||
|
||||
21
src/vs/platform/localizations/common/localizedStrings.ts
Normal file
21
src/vs/platform/localizations/common/localizedStrings.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as nls from 'vs/nls';
|
||||
|
||||
/**
|
||||
* These are some predefined strings that we test during smoke testing that they are localized
|
||||
* correctly. Don't change these strings!!
|
||||
*/
|
||||
|
||||
const open: string = nls.localize('open', 'open');
|
||||
const close: string = nls.localize('close', 'close');
|
||||
const find: string = nls.localize('find', 'find');
|
||||
|
||||
export default {
|
||||
open: open,
|
||||
close: close,
|
||||
find: find
|
||||
};
|
||||
@@ -3,19 +3,18 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Promises } from 'vs/base/node/pfs';
|
||||
import { createHash } from 'crypto';
|
||||
import { IExtensionManagementService, ILocalExtension, IExtensionIdentifier } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { INativeEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { Queue } from 'vs/base/common/async';
|
||||
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { isValidLocalization, ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { distinct, equals } from 'vs/base/common/arrays';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { Queue } from 'vs/base/common/async';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { Schemas } from 'vs/base/common/network';
|
||||
import { join } from 'vs/base/common/path';
|
||||
import { Promises } from 'vs/base/node/pfs';
|
||||
import { INativeEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { IExtensionIdentifier, IExtensionManagementService, ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
|
||||
import { ILocalizationsService, isValidLocalization } from 'vs/platform/localizations/common/localizations';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
|
||||
interface ILanguagePack {
|
||||
hash: string;
|
||||
@@ -32,9 +31,6 @@ export class LocalizationsService extends Disposable implements ILocalizationsSe
|
||||
|
||||
private readonly cache: LanguagePacksCache;
|
||||
|
||||
private readonly _onDidLanguagesChange: Emitter<void> = this._register(new Emitter<void>());
|
||||
readonly onDidLanguagesChange: Event<void> = this._onDidLanguagesChange.event;
|
||||
|
||||
constructor(
|
||||
@IExtensionManagementService private readonly extensionManagementService: IExtensionManagementService,
|
||||
@INativeEnvironmentService environmentService: INativeEnvironmentService,
|
||||
@@ -42,35 +38,36 @@ export class LocalizationsService extends Disposable implements ILocalizationsSe
|
||||
) {
|
||||
super();
|
||||
this.cache = this._register(new LanguagePacksCache(environmentService, logService));
|
||||
|
||||
this._register(extensionManagementService.onDidInstallExtension(({ local }) => this.onDidInstallExtension(local)));
|
||||
this._register(extensionManagementService.onDidUninstallExtension(({ identifier }) => this.onDidUninstallExtension(identifier)));
|
||||
this.extensionManagementService.registerParticipant({
|
||||
postInstall: async (extension: ILocalExtension): Promise<void> => {
|
||||
return this.postInstallExtension(extension);
|
||||
},
|
||||
postUninstall: async (extension: ILocalExtension): Promise<void> => {
|
||||
return this.postUninstallExtension(extension);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getLanguageIds(): Promise<string[]> {
|
||||
return this.cache.getLanguagePacks()
|
||||
.then(languagePacks => {
|
||||
// Contributed languages are those installed via extension packs, so does not include English
|
||||
const languages = ['en', ...Object.keys(languagePacks)];
|
||||
return distinct(languages);
|
||||
});
|
||||
async getLanguageIds(): Promise<string[]> {
|
||||
const languagePacks = await this.cache.getLanguagePacks();
|
||||
// Contributed languages are those installed via extension packs, so does not include English
|
||||
const languages = ['en', ...Object.keys(languagePacks)];
|
||||
return distinct(languages);
|
||||
}
|
||||
|
||||
private onDidInstallExtension(extension: ILocalExtension | undefined): void {
|
||||
private async postInstallExtension(extension: ILocalExtension): Promise<void> {
|
||||
if (extension && extension.manifest && extension.manifest.contributes && extension.manifest.contributes.localizations && extension.manifest.contributes.localizations.length) {
|
||||
this.logService.debug('Adding language packs from the extension', extension.identifier.id);
|
||||
this.update().then(changed => { if (changed) { this._onDidLanguagesChange.fire(); } });
|
||||
this.logService.info('Adding language packs from the extension', extension.identifier.id);
|
||||
await this.update();
|
||||
}
|
||||
}
|
||||
|
||||
private onDidUninstallExtension(identifier: IExtensionIdentifier): void {
|
||||
this.cache.getLanguagePacks()
|
||||
.then(languagePacks => {
|
||||
if (Object.keys(languagePacks).some(language => languagePacks[language] && languagePacks[language].extensions.some(e => areSameExtensions(e.extensionIdentifier, identifier)))) {
|
||||
this.logService.debug('Removing language packs from the extension', identifier.id);
|
||||
this.update().then(changed => { if (changed) { this._onDidLanguagesChange.fire(); } });
|
||||
}
|
||||
});
|
||||
private async postUninstallExtension(extension: ILocalExtension): Promise<void> {
|
||||
const languagePacks = await this.cache.getLanguagePacks();
|
||||
if (Object.keys(languagePacks).some(language => languagePacks[language] && languagePacks[language].extensions.some(e => areSameExtensions(e.extensionIdentifier, extension.identifier)))) {
|
||||
this.logService.info('Removing language packs from the extension', extension.identifier.id);
|
||||
await this.update();
|
||||
}
|
||||
}
|
||||
|
||||
async update(): Promise<boolean> {
|
||||
|
||||
Reference in New Issue
Block a user