注意: 1.0版本对本项目进行重写,实现方式完全基于配置,所以导致配置与0.x版本不兼容。
这是一个VSCode的方便用户创建创建文件的扩展
这个扩展旨在使VSCode可以像IDE一样创建各种类型的文件,并根据用户填写的内容配合模板生成初始化代码和注释。
- 在工作区的任意位置创建各种类型项目的文件(如Java、Python、JavaScript等),文件内容基于模板和用户输入生成
- 模板配置完全基于配置文件,欢迎大家pull request,添加自己领域内的通用模板
- 完全键盘操作
- 自定义路径选择器,更好的交互与UI
- 更优雅的打开工作区,使用自定义路径选择器代替操作系统原生实现
- 优化多步骤输入,支持单击Esc返回上一步,双击Esc取消
- 项目支持国际化,支持中英两种语言
- 高度可定制的配置
- 利用自定义路径选择器,实现文件或目录的拷贝、复制和重命名等常见文件系统操作
根据模板创建文件(创建Java类文件示例)
搜索常见内容的开发者内容
文件系统常见操作
优雅的打开工作区
高度定制的路径选择器
运行VSCode快速打开面板(Ctrl+P),粘贴如下命令并按回车确认
ext install Rectcircle.new-file-by-type
本扩展使用一般分为3个步骤,分别是:激活命令、选择文件模板、输入模板定义的参数
第一步: 使用命令面板(前缀为 New:
,推荐方式)、快捷键、上下文菜单激活
第二步: 选择模板文件
通过2~3步的选择,选择需要创建的文件类型
- 红色区域显示的最近使用过的模板
- 蓝色区域显示的与当前打开工作区匹配的模板文件夹或者模板本身
- 每一个选项的都包含是三个部分
- 红色部分称为Label
- 包含图标和文字,
- 图标表示当前选择的是模板还是模板文件夹,
- 文字为项目名
- 蓝色部分称为Description
- 如果包含时钟图标,表示该项目是最近使用过的模板,否者为模板列表
- 文字表示当前模板或文件夹的名字空间(
namespace
)
- 黄色部分称为Detail:当前选项的描述(如果不需要可以通过配置取消展示)
第三步: 输入模板定义的参数
创建Java类为例,其配置文件一共定义了三个输入参数:分别是
源代码根目录
所在包
类名
如果文件已存在,则会询问是否覆盖(所有新建文件都有此检测)
以上步骤,是一个多步骤选择输入的过程,本扩展支持回到上一步输入的功能
命令名 | 标识符 | 激活方式 | 描述 |
---|---|---|---|
根据文件或项目类型创建文件 | new-file-by-type.new | 命令面板、快捷键Ctrl+Alt+N、资源管理器菜单、上下文菜单 | 在工作空间中,选择文件模板,输入文件位置,并创建一个文件 |
在当前文件所在目录创建文件 | new-file-by-type.new-in-current-path | 命令面板、资源管理器菜单、上下文菜单 | 在工作空间中,选择文件模板,自动推断路径,并创建一个文件 |
根据文件或项目类型创建文件 与 在当前文件所在目录创建文件 的区别在于:后者比前者少一些关于路径的模板输入的填写,后者内部通过推测进行。比如同样的 Java 类模板,后者将不用填写所在包这一自定义输入
命令名 | 标识符 | 激活方式 | 描述 |
---|---|---|---|
拷贝当前文件 | new-file-by-type.copy-file | 命令面板、资源管理器菜单、上下文菜单 | 拷贝当前激活或者选中的文件或目录 |
删除当前文件 | new-file-by-type.delete-file | 命令面板、上下文菜单 | 删除当前激活或者选中的文件或目录 |
移动当前文件 | new-file-by-type.move-file | 命令面板、上下文菜单 | 移动当前激活或者选中的文件或目录 |
创建目录 | new-file-by-type.make-directory | 命令面板、上下文菜单 | 在当前激活文件或选中的文件所在目录 或 选中的目录中创建目录 |
选择路径... | new-file-by-type.path-operation | 命令面板 | 选择路径并选择执行上述操作 |
打开工作空间...(使用自定义路径选择器) | new-file-by-type.open-workspace | 命令面板 | 打开工作空间 |
搜索常见的开发者资源 | new-file-by-type.search | 命令面板 | 支持 baidu github npm stackoverflow google maven pip |
翻译 | new-file-by-type.translate | 命令面板 |
- GO
- Python
- Django
- Flask
- Scala
- App
- Class
- Object
- Trait
- Class&Object
- Trait&Object
- Package Object
- Scala Worksheet
- Scala Script
- License
- Apache-2.0
- BSD-3-Clause
- BSD-2-Clause
- GPL-2.0
- GPL-3.0
- LGPL-2.0
- LGPL-2.1
- LGPL-3.0
- MIT
- MPL-2.0
- CDDL-1.0
- EPL-1.0
- The Unlicense
- 普通文件
- TypeScript
- None
- Module
- React
- Angular
- Vue
- JavaScript
- None
- JQuery
- Node-Module
- ES6-Module
- React
- Vue
- Web
- HTML
- HTML5 (from Snippet)
- CSS (from Snippet)
- Less (from Snippet)
- Sass (from Snippet)
- C/C++项目支持
- Class(生成.cpp和.h)
- 普通的两种文件(.c或.cpp和.h)
- 通过自定义Snippet方式实现自定义模板
- Java项目文件的支持
- Class
- Interface
- Enum
- Annotation
- JUnitTestCase
- Package(package-info文件)
打开命令面板,输入 New: help
打开帮助页面查看。
欢迎贡献模板和代码,模板贡献参见:自定义模板