如何在 Visual Studio Code 扩展开发中为命令 "explorer.newFile" 提供参数
How to give an argument to command "explorer.newFile" in Visial Studio Code extension development
如何在Visual Studio代码扩展开发中给命令explorer.newFile
一个参数?
我只是想添加在资源管理器视图中创建一个具有特定名称的文件,然后打开它并插入一个片段,这些操作将在一个函数中实现。帮助^_^
我当然可能是错的,但我不确定explorer.newFile
是否会接受争论。
不过,这个函数会做你想做的事:创建一个文件,打开它,然后插入一个现有的片段:
async function createFileOpen() {
const we = new vscode.WorkspaceEdit();
const thisWorkspace = await vscode.workspace.workspaceFolders[0].uri.toString();
// if you want it to be in some folder under the workspaceFolder: append a folder name
// const uriBase = `${thisWorkspace}/folderName`;
// let newUri1 = vscode.Uri.parse(`${uriBase}/index.js`);
// create a Uri for a file to be created
const newUri = await vscode.Uri.parse(`${ thisWorkspace }\myTestIndex.js`);
// create an edit that will create a file
await we.createFile(newUri, { ignoreIfExists: false, overwrite: true });
await vscode.workspace.applyEdit(we); // actually apply the edit: in this case file creation
await vscode.workspace.openTextDocument(newUri).then(
async document => {
await vscode.window.showTextDocument(document);
// if you are using a predefined snippet
await vscode.commands.executeCommand('editor.action.insertSnippet', { 'name': 'My Custom Snippet Label Here'});
});
}
如何在Visual Studio代码扩展开发中给命令explorer.newFile
一个参数?
我只是想添加在资源管理器视图中创建一个具有特定名称的文件,然后打开它并插入一个片段,这些操作将在一个函数中实现。帮助^_^
我当然可能是错的,但我不确定explorer.newFile
是否会接受争论。
不过,这个函数会做你想做的事:创建一个文件,打开它,然后插入一个现有的片段:
async function createFileOpen() {
const we = new vscode.WorkspaceEdit();
const thisWorkspace = await vscode.workspace.workspaceFolders[0].uri.toString();
// if you want it to be in some folder under the workspaceFolder: append a folder name
// const uriBase = `${thisWorkspace}/folderName`;
// let newUri1 = vscode.Uri.parse(`${uriBase}/index.js`);
// create a Uri for a file to be created
const newUri = await vscode.Uri.parse(`${ thisWorkspace }\myTestIndex.js`);
// create an edit that will create a file
await we.createFile(newUri, { ignoreIfExists: false, overwrite: true });
await vscode.workspace.applyEdit(we); // actually apply the edit: in this case file creation
await vscode.workspace.openTextDocument(newUri).then(
async document => {
await vscode.window.showTextDocument(document);
// if you are using a predefined snippet
await vscode.commands.executeCommand('editor.action.insertSnippet', { 'name': 'My Custom Snippet Label Here'});
});
}