本文整理汇总了TypeScript中vs/platform/registry/common/platform.Registry类的典型用法代码示例。如果您正苦于以下问题:TypeScript Registry类的具体用法?TypeScript Registry怎么用?TypeScript Registry使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Registry类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test
test('model defaults', async () => {
interface ITestSetting {
configuration: {
service: {
testSetting: string;
}
};
}
const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration);
configurationRegistry.registerConfiguration({
'id': '_test',
'type': 'object',
'properties': {
'configuration.service.testSetting': {
'type': 'string',
'default': 'isSet'
}
}
});
let serviceWithoutFile = new ConfigurationService('__testFile');
await serviceWithoutFile.initialize();
let setting = serviceWithoutFile.getValue<ITestSetting>();
assert.ok(setting);
assert.equal(setting.configuration.service.testSetting, 'isSet');
return testFile('config', 'config.json').then(async res => {
fs.writeFileSync(res.testFile, '{ "testworkbench.editor.tabs": true }');
const service = new ConfigurationService(res.testFile);
let setting = service.getValue<ITestSetting>();
assert.ok(setting);
assert.equal(setting.configuration.service.testSetting, 'isSet');
fs.writeFileSync(res.testFile, '{ "configuration.service.testSetting": "isChanged" }');
await service.reloadConfiguration();
let setting_1 = service.getValue<ITestSetting>();
assert.ok(setting_1);
assert.equal(setting_1.configuration.service.testSetting, 'isChanged');
service.dispose();
serviceWithoutFile.dispose();
return res.cleanUp();
});
});
示例2: suiteSetup
suiteSetup(() => {
Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({
'id': 'a',
'order': 1,
'title': 'a',
'type': 'object',
'properties': {
'a': {
'description': 'a',
'type': 'boolean',
'default': true,
'overridable': true
}
}
});
});
示例3: test
test('Test registering the language property', () => {
Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({
'id': '[a]',
'order': 1,
'title': 'a',
'type': 'object',
'properties': {
'[a]': {
'description': 'a',
'type': 'boolean',
'default': false,
}
}
});
assert.equal(undefined, new DefaultConfigurationModel().getContentsFor('[a]'));
});
示例4: test
test('Test registering the same property again', () => {
Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({
'id': 'a',
'order': 1,
'title': 'a',
'type': 'object',
'properties': {
'a': {
'description': 'a',
'type': 'boolean',
'default': false,
}
}
});
assert.equal(true, new DefaultConfigurationModel().getValue('a'));
});
示例5: test
test('QuickOpen Handler and Registry', () => {
let registry = (Registry.as<IQuickOpenRegistry>(QuickOpenExtensions.Quickopen));
let handler = new QuickOpenHandlerDescriptor(
TestHandler,
'testhandler',
',',
'Handler',
null
);
registry.registerQuickOpenHandler(handler);
assert(registry.getQuickOpenHandler(',') === handler);
let handlers = registry.getQuickOpenHandlers();
assert(handlers.some((handler: QuickOpenHandlerDescriptor) => handler.prefix === ','));
});
示例6: getDefaultTerminalLinuxReady
getDefaultTerminalLinuxReady().then(defaultTerminalLinux => {
let configurationRegistry = Registry.as<IConfigurationRegistry>(Extensions.Configuration);
configurationRegistry.registerConfiguration({
id: 'externalTerminal',
order: 100,
title: nls.localize('terminalConfigurationTitle', "External Terminal"),
type: 'object',
properties: {
'terminal.explorerKind': {
type: 'string',
enum: [
'integrated',
'external'
],
enumDescriptions: [
nls.localize('terminal.explorerKind.integrated', "Use VS Code's integrated terminal."),
nls.localize('terminal.explorerKind.external', "Use the configured external terminal.")
],
description: nls.localize('explorer.openInTerminalKind', "Customizes what kind of terminal to launch."),
default: 'integrated'
},
'terminal.external.windowsExec': {
type: 'string',
description: nls.localize('terminal.external.windowsExec', "Customizes which terminal to run on Windows."),
default: getDefaultTerminalWindows(),
scope: ConfigurationScope.APPLICATION
},
'terminal.external.osxExec': {
type: 'string',
description: nls.localize('terminal.external.osxExec', "Customizes which terminal application to run on macOS."),
default: DEFAULT_TERMINAL_OSX,
scope: ConfigurationScope.APPLICATION
},
'terminal.external.linuxExec': {
type: 'string',
description: nls.localize('terminal.external.linuxExec', "Customizes which terminal to run on Linux."),
default: defaultTerminalLinux,
scope: ConfigurationScope.APPLICATION
}
}
});
});
示例7: test
test('lookup', () => {
const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration);
configurationRegistry.registerConfiguration({
'id': '_test',
'type': 'object',
'properties': {
'lookup.service.testSetting': {
'type': 'string',
'default': 'isSet'
}
}
});
return testFile('config', 'config.json').then(r => {
const service = new ConfigurationService(new SettingsTestEnvironmentService(parseArgs(process.argv), process.execPath, r.testFile));
let res = service.inspect('something.missing');
assert.strictEqual(res.value, void 0);
assert.strictEqual(res.default, void 0);
assert.strictEqual(res.user, void 0);
res = service.inspect('lookup.service.testSetting');
assert.strictEqual(res.default, 'isSet');
assert.strictEqual(res.value, 'isSet');
assert.strictEqual(res.user, void 0);
fs.writeFileSync(r.testFile, '{ "lookup.service.testSetting": "bar" }');
return service.reloadConfiguration().then(() => {
res = service.inspect('lookup.service.testSetting');
assert.strictEqual(res.default, 'isSet');
assert.strictEqual(res.user, 'bar');
assert.strictEqual(res.value, 'bar');
service.dispose();
return r.cleanUp();
});
});
});
示例8: getDefaultTerminalLinuxReady
getDefaultTerminalLinuxReady().then(defaultTerminalLinux => {
let configurationRegistry = Registry.as<IConfigurationRegistry>(Extensions.Configuration);
configurationRegistry.registerConfiguration({
'id': 'externalTerminal',
'order': 100,
'title': nls.localize('terminalConfigurationTitle', "External Terminal"),
'type': 'object',
'properties': {
'terminal.explorerKind': {
'type': 'string',
'enum': [
'integrated',
'external'
],
'description': nls.localize('explorer.openInTerminalKind', "Customizes what kind of terminal to launch."),
'default': 'integrated',
'isExecutable': false
},
'terminal.external.windowsExec': {
'type': 'string',
'description': nls.localize('terminal.external.windowsExec', "Customizes which terminal to run on Windows."),
'default': getDefaultTerminalWindows(),
'isExecutable': true
},
'terminal.external.osxExec': {
'type': 'string',
'description': nls.localize('terminal.external.osxExec', "Customizes which terminal application to run on OS X."),
'default': DEFAULT_TERMINAL_OSX,
'isExecutable': true
},
'terminal.external.linuxExec': {
'type': 'string',
'description': nls.localize('terminal.external.linuxExec', "Customizes which terminal to run on Linux."),
'default': defaultTerminalLinux,
'isExecutable': true
}
}
});
});
示例9: suiteSetup
suiteSetup(() => {
const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration);
configurationRegistry.registerConfiguration({
'id': 'FolderSettingsModelParser_1',
'type': 'object',
'properties': {
'FolderSettingsModelParser.window': {
'type': 'string',
'default': 'isSet'
},
'FolderSettingsModelParser.resource': {
'type': 'string',
'default': 'isSet',
scope: ConfigurationScope.RESOURCE
},
'FolderSettingsModelParser.application': {
'type': 'string',
'default': 'isSet',
scope: ConfigurationScope.APPLICATION
}
}
});
});