如何使用命令ID在Visual Studio Code的“新文件名”中添加文本?

问题描述

我最近在学习有关用户代码段的知识,由于我在这里阅读了一些内容,因此我对使用多命令扩展功能将它们结合起来也很感兴趣。

我正在写我的第一个序列,这是我现在的位置:

"multiCommand.commands": [
{
  "command": "multiCommand.createFolderStructure","sequence": [
    {
      "command": "renameFile","when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
    },{
      "command": "editor.action.clipboardcopyAction","when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
    },{
      "command": "explorer.newFile"
    },{ "command": "editor.action.clipboardPasteAction" },{
      "command": "editor.action.insertSnippet","args": {
        "snippet": ".js"
      }
    }
  ]
}

]

所以这是现在做的:

  1. 打开当前活动文件夹的重命名
  2. 复制文件夹的名称
  3. 在活动文件夹中创建新文件
  4. 从剪贴板粘贴文件夹的名称

使用最后一条命令,我试图在其末尾添加.js。但这似乎不起作用。插入代码段仅在编辑器中有效。我没有找到其他适合我的东西。有没有人知道这件事的好命令ID?

解决方法

好的,我已经设法完成了我需要做的事情,但是方法过于复杂。如果有人知道我的问题的答案,我仍然会喜欢。这就是我所做的:

"multiCommand.commands": [
    {
      "command": "multiCommand.createFolderStructure","interval": 30,"sequence": [
        "renameFile","editor.action.clipboardCopyAction","explorer.newFile","editor.action.clipboardPasteAction","workbench.action.quickOpen","workbench.files.action.focusOpenEditorsView",{
          "command": "editor.action.insertSnippet","args": {
            "snippet": "$CLIPBOARD.js"
          }
        },"editor.action.selectAll","editor.action.clipboardCutAction","workbench.files.action.focusFilesExplorer","renameFile","editor.action.clipboardPasteAction"
      ]
    }
  ]

如果有人感兴趣,这是我必须满足的所有要求的完整动作系列。但这对您不起作用,因为您还需要我定义的用户代码段

{
      "command": "multiCommand.createFolderStructure","interval": 100,"args": {
            "snippet": "${TM_FILENAME_BASE/(.*)/${1:capitalize}/}.styled.js"
          }
        },"args": {
            "name": "Simple Component"
          },"when": "editorLangId == javascript"
        },"args": {
            "snippet": "index.js"
          },"args": {
            "name": "Styled Template"
          },"args": {
            "name": "Export Default From"
          },"workbench.action.files.saveAll","workbench.action.closeAllEditors"
      ]
    },

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...