generator-code
Version:
Yeoman generator for Visual Studio Code Extensions
38 lines (34 loc) • 1.93 kB
JavaScript
/*---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/
const prompts = require("./prompts");
module.exports = {
id: 'ext-keymap',
name: 'New Keymap',
/**
* @param {import('yeoman-generator')} generator
* @param {Object} extensionConfig
*/
prompting: async (generator, extensionConfig) => {
await prompts.askForExtensionDisplayName(generator, extensionConfig);
await prompts.askForExtensionId(generator, extensionConfig);
await prompts.askForExtensionDescription(generator, extensionConfig);
await prompts.askForGit(generator, extensionConfig);
},
/**
* @param {import('yeoman-generator')} generator
* @param {Object} extensionConfig
*/
writing: (generator, extensionConfig) => {
generator.fs.copy(generator.sourceRoot() + '/vscode', extensionConfig.name + '/.vscode');
generator.fs.copyTpl(generator.sourceRoot() + '/package.json', extensionConfig.name + '/package.json', extensionConfig);
generator.fs.copyTpl(generator.sourceRoot() + '/vsc-extension-quickstart.md', extensionConfig.name + '/vsc-extension-quickstart.md', extensionConfig);
generator.fs.copyTpl(generator.sourceRoot() + '/README.md', extensionConfig.name + '/README.md', extensionConfig);
generator.fs.copyTpl(generator.sourceRoot() + '/CHANGELOG.md', extensionConfig.name + '/CHANGELOG.md', extensionConfig);
generator.fs.copy(generator.sourceRoot() + '/vscodeignore', extensionConfig.name + '/.vscodeignore');
if (extensionConfig.gitInit) {
generator.fs.copy(generator.sourceRoot() + '/gitignore', extensionConfig.name + '/.gitignore');
generator.fs.copy(generator.sourceRoot() + '/gitattributes', extensionConfig.name + '/.gitattributes');
}
}
}