Visual studio code 是否有VS代码快捷方式可用于从选定代码或剪贴板代码创建新文件?
我处理大型html文件,我想将它们分割成单独的文件。执行此操作的过程非常繁琐,因为它需要复制代码、创建新文件、将其粘贴到新文件中,然后选择文件夹和新名称来保存Visual studio code 是否有VS代码快捷方式可用于从选定代码或剪贴板代码创建新文件?,visual-studio-code,macros,vscode-tasks,Visual Studio Code,Macros,Vscode Tasks,我处理大型html文件,我想将它们分割成单独的文件。执行此操作的过程非常繁琐,因为它需要复制代码、创建新文件、将其粘贴到新文件中,然后选择文件夹和新名称来保存 是否有VS代码的内置快捷方式、宏或扩展来简化此操作?请注意,由于这是一个html文件,因此新的重构无法移动到新文件。它可以满足您的需要,并且可以在许多其他语言中使用,但不能在html中使用。您可以通过选择要移动的文本来访问它,并在上下文菜单中选择Refactor..——如果支持,它甚至可以向旧文件添加导入语句 这是一个宏,它可以满足您的
是否有VS代码的内置快捷方式、宏或扩展来简化此操作?请注意,由于这是一个html文件,因此新的重构
无法移动到新文件。它可以满足您的需要,并且可以在许多其他语言中使用,但不能在html中使用。您可以通过选择要移动的文本来访问它,并在上下文菜单中选择Refactor..
——如果支持,它甚至可以向旧文件添加导入语句
这是一个宏,它可以满足您的需要。我正在使用宏扩展,但还有其他扩展
在settings.json中:
"multiCommand.commands": [
{
"command": "multiCommand.newFileWithContent",
"sequence": [
// choose which one you want
"editor.action.clipboardCutAction",
// "editor.action.clipboardCopyAction",
"workbench.action.files.newUntitledFile",
"editor.action.clipboardPasteAction",
// prompt for save immediately?
"workbench.action.files.saveAs",
]
},
{
"key": "strl+alt+b", // your keybinding choice
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.newFileWithContent" }
},
然后通过命令面板(搜索“multi”)或使用keybinding(keybindings.json)触发它:
我不知道如何自动化你问题中的“选择一个文件夹和一个新名称来保存”部分。我认为您仍然需要手动执行此操作,但是在“saveAs”对话框中有一些方便的“智能感知”
2020年更新
在我得出这个答案后,你看
我认为可能有更好的方法来处理创建文件的任务,并提示一个文件夹和文件名在一次去。文件夹结构上的saveAs
intellisense会丢失,但无论如何,了解它都是一种非常好的技术。而且不需要宏。在bash
shell中:
{
"version": "2.0.0",
"tasks": [
{
"label": "newFile",
// assuming your folder name isn't static
"command": "echo '${selectedText}' > ${input:folderName}/${input:fileName}.html",
"type": "shell",
"problemMatcher": [],
"presentation": { // terminal handling which you may not care about and could delete
"echo": false,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"promptOnClose": false
}
],
"inputs": [
{
"type": "promptString",
"id": "folderName",
"description": "Complete my folder name.",
"default": "folder"
},
{
"type": "promptString",
"id": "fileName",
"description": "Complete my file name.",
"default": "new file name"
}
]
}
运行该任务的一些键绑定(或仅从命令选项板runtask
command运行它):
就这样,选择您的任务,然后运行任务Alt+R
请注意,由于这是一个html文件,因此新的重构移动到新文件
不可用。它可以满足您的需要,并且可以在许多其他语言中使用,但不能在html中使用。您可以通过选择要移动的文本来访问它,并在上下文菜单中选择Refactor..
——如果支持,它甚至可以向旧文件添加导入语句
这是一个宏,它可以满足您的需要。我正在使用宏扩展,但还有其他扩展
在settings.json中:
"multiCommand.commands": [
{
"command": "multiCommand.newFileWithContent",
"sequence": [
// choose which one you want
"editor.action.clipboardCutAction",
// "editor.action.clipboardCopyAction",
"workbench.action.files.newUntitledFile",
"editor.action.clipboardPasteAction",
// prompt for save immediately?
"workbench.action.files.saveAs",
]
},
{
"key": "strl+alt+b", // your keybinding choice
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.newFileWithContent" }
},
然后通过命令面板(搜索“multi”)或使用keybinding(keybindings.json)触发它:
我不知道如何自动化你问题中的“选择一个文件夹和一个新名称来保存”部分。我认为您仍然需要手动执行此操作,但是在“saveAs”对话框中有一些方便的“智能感知”
2020年更新
在我得出这个答案后,你看
我认为可能有更好的方法来处理创建文件的任务,并提示一个文件夹和文件名在一次去。文件夹结构上的saveAs
intellisense会丢失,但无论如何,了解它都是一种非常好的技术。而且不需要宏。在bash
shell中:
{
"version": "2.0.0",
"tasks": [
{
"label": "newFile",
// assuming your folder name isn't static
"command": "echo '${selectedText}' > ${input:folderName}/${input:fileName}.html",
"type": "shell",
"problemMatcher": [],
"presentation": { // terminal handling which you may not care about and could delete
"echo": false,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"promptOnClose": false
}
],
"inputs": [
{
"type": "promptString",
"id": "folderName",
"description": "Complete my folder name.",
"default": "folder"
},
{
"type": "promptString",
"id": "fileName",
"description": "Complete my file name.",
"default": "new file name"
}
]
}
运行该任务的一些键绑定(或仅从命令选项板runtask
command运行它):
就这样,选择您的任务,然后运行任务Alt+R
WTF!?这太棒了!我不敢相信这不是默认功能。这将节省我很多时间和精力。你应该把它作为插件发布!世界跆拳道联盟!?这太棒了!我不敢相信这不是默认功能。这将节省我很多时间和精力。你应该把它作为插件发布!