0.2.5 • Published 6 years ago

types-dot-template v0.2.5

Weekly downloads
10
License
-
Repository
github
Last release
6 years ago

dot-template

Travis Build Status Appveyor Build Status

新建文件或文件夹时,根据预定义的配置和模板,自动向新文件里插入模板内容,或在新文件夹里生成新文件

主要功能

  • 自动写入项目模板中的文件
  • 自动注入文件模板到新建的文件中
  • 生成某一文件的关联文件
  • 注入内容到指定的文件中(新功能

如何使用

  1. vscode 插件中查找并安装 dot-template-vscode
  2. 重启 vscode
  3. 在当前打开的项目中的根目录上创建一个 .dtpl 的文件夹(然后跟随 vscode 弹出的提示做即可)

更多详情请参考此

项目配置

  • dot-template-vscode.debug: 设置是否输出调试信息在项目根目录中的 dtpl.debug.log 文件中
  • dot-template-vscode.noExampleWhenCreateDtplFolder: 新建 .dtpl 文件夹时不要创建演示用的模板
  • dot-template-vscode.watchFilesGlobPattern: 指定要监听的文件,使用了 minimatch 匹配,并开启了 dot=true,其它选项默认 默认值: "**/*"
  • dot-template-vscode.commandInvalidTimeout: 设置命令的有效时间,过期后就无法撤销或重新执行,单位毫秒 默认值: 60000
  • dot-template-vscode.dtplFolderName: 文件夹的名称,用于存放模板文件及相关配置文件 默认值: ".dtpl"
  • dot-template-vscode.dtplExtension: 指定 dtpl 模板文件的后缀名 默认值: ".dtpl"
  • dot-template-vscode.ejsExtension: 指定 ejs 模板文件的后缀名 默认值: ".ejs"
  • dot-template-vscode.njkExtension: 指定 nunjucks 模板文件的后缀名 默认值: ".njk"
  • dot-template-vscode.minimatchOptions: minimatch 的选项,用于匹配模板名称, 参考:https://github.com/isaacs/minimatch#options 默认值: {"matchBase":true,"nocomment":true,"dot":true}

支持命令

  • createTemplateFiles: DTPL: Create template files

    • win 快捷键: ctrl+k ctrl+p
    • mac 快捷键: cmd+k cmd+p

    创建模板文件

    1. 如果当前编辑器没有打开的文件,则会弹出输入框,可以输入你要创建的文件;
    2. 如果当前打开的文件没内容,则会去寻找合适的模板来渲染;
    3. 如果当前打开的文件有内容,则会去寻找合适的关联文件来创建
  • createRelatedFiles: DTPL: Create related files

    • win 快捷键: ctrl+k ctrl+s
    • mac 快捷键: cmd+k cmd+s

    创建当前编辑器打开的文件的关联文件,如果当前编辑器没打开任何文件,则会报错

  • undoOrRedo: DTPL: Undo or Redo last action

    • win 快捷键: ctrl+k ctrl+u
    • mac 快捷键: cmd+k cmd+u

    撤销或重做上次命令所做的所有修改,并且一分钟内才有效,超不一分钟无法撤销或重做(主要为了避免误操作)

渲染模板时的基本的环境变量 IData

VariableTypeNullableDescription
rootPathstring项目根目录的绝对路径
npmPathstring项目下的 node_modules 目录的绝对路径
datestring当前日期,格式:yyyy-mm-dd
timestring当前时间,格式: hh-mm
datetimestring当前日期和时间,格式:yyyy-mm-dd hh-mm
userstring当前用户,通过读取环境变量中的 USER 字段而获取到的
pkg{[key: string]: any}当前项目的 package.json 所对应的 JSON 对象
filePathstring当前文件的绝对路径
relativeFilePathstring当前文件相对于根目录的路径
fileNamestring当前文件的名称,不带路径和后缀
fileExtstring当前文件的后缀名
dirPathstring当前文件所在的目录的绝对路径
dirNamestring当前文件所在的目录的名称
rawModuleNamestringfileName 的别名,即当前文件的名称(不含后缀)
moduleNamestring驼峰形式的 fileName
ModuleNamestring单词首字母都大写的形式的 fileName
MODULE_NAMEstring所有字母都大写,中间以下划线连接的 fileName
module_namestring所有字母都小写,中间以下划线连接的 fileName
refIDataYes创建 related 文件时,原文件的 IData 对象;或者创建文件夹模板内的文件时,文件夹的 IData 对象

除了上面的基本环境变量外,用户也可以在配置文件中定义 globalData 这个针对所有模板的变量,或者在单独的模板定义 localData 这个只针对本模板的局部变量