创建文件和目录
RubyMine 使您能够创建任意文件或特定语言的文件。 您可以创建 Ruby 文件、类或模块、 测试 、HTML 文件、样式表、JavaScript/TypeScript 文件等。 此类特定语言的文件可以使用模板创建初始内容。 例如,从模板创建的 RSpec 测试包含示例组的框架。 如果需要,您可以 自定义这些模板或添加新的模板。
在本主题中,我们将向您展示如何创建文件和目录,以及如何使用模板。
创建 Ruby 文件、类或模块
RubyMine 使您能够创建 Ruby 文件或生成类和模块。 要创建新的 Ruby 文件、类或模块,请执行以下操作:
在 项目视图 Alt+1 中,选择您希望创建类的目录,然后按 Alt+Insert。
从弹出菜单中选择 Ruby 类/文件。
在 新建Ruby 类/文件 弹出窗口中,执行以下操作之一:
要创建新的 Ruby 文件,请输入其名称,并确保选择了 File。

要创建 Ruby 类,请切换到 类 并指定类名。

RubyMine 允许您创建由模块前缀的类。 如果需要,请在类名前加上模块名:

在这种情况下,创建的文件将如下所示:

要创建 Ruby 模块,请切换到 模块 并指定模块名。

按下 Enter。
创建目录
要创建目录:
在 项目视图 Alt+1 中,右键单击您希望创建新目录的目录,并从上下文菜单中选择 。 或者,单击父目录,按 Alt+Insert ,然后从列表中选择 目录。
在打开的弹出窗口中,指定目录名称。 要创建多个嵌套目录,请使用斜杠作为分隔符,例如 views/shared 。
创建空文件
要创建具有任意扩展名的空文件:
文件模板
RubyMine 允许您使用模板 创建新文件并包含初始内容。 您可以自定义这些模板或添加新的模板。
自定义文件模板
按 Ctrl+Alt+S 打开设置,然后选择 。
在 个文件 选项卡上,选择所需的模板并进行修改:
编辑模板内容。 由于文件模板使用 Velocity 模板语言 ,您可以使用固定文本、 变量或各种指令,包括 #parse、
#set、#if等。根据样式重新格式化 :启用此选项以根据 代码样式页面中定义的样式重新格式化生成的代码。
启用实时模板 :如果您希望在文件模板中使用 实时模板 ,请启用此选项。 例如,要在创建的 HTML 文件中指定插入符号的位置,请在
body中,将$END$实时模板变量放入 Velocity 转义语法中:<!DOCTYPE html> <html lang="en"> <head></head> <body> #[[$END$]]# </body> </html>
单击 Apply 以保存自定义模板。 如有必要,单击
以将选定的模板恢复到其原始状态。
要复制现有模板或创建新模板,请分别使用
或
按钮。
在模板之间共享代码
包含模板允许您创建可重用的代码片段,例如 require 语句。 让我们看看如何创建在 Minitest 模板之间共享的包含模板:
在 设置 对话框(Ctrl+Alt+S )中,选择 。
打开 包含 选项卡。
单击工具栏上的
按钮,并按以下方式指定模板设置:
名称 :将模板名称指定为 Minitest 文件头 。
扩展名 :保留默认的 rb 扩展名。
添加以下模板主体:
require 'minitest/autorun'
点击 Apply。
转到 个文件 选项卡。
对于 MiniTest 和 MiniTest 规范 模板,将
require 'minitest/autorun'行替换为以下代码:#parse("Minitest File Header.rb")点击 Apply。
将打开的文件另存为模板
请选择 。
在打开的 另存为模板 对话框中,指定新模板名称并根据需要编辑主体。
应用更改并关闭对话框。
文件模板变量
一个 file template 可以包含变量,在应用模板时会被其值替换。 变量是一个以美元符号开头的字符串 $ ,后跟变量名。 变量名称可以选择性地用花括号括起来。 例如, $MyVariable 和 ${MyVariable} 是同一变量的不同表示法。
预定义模板变量
文件模板中可以使用以下预定义变量:
变量 | 描述 |
|---|---|
| 当前系统日期 |
| 当前日期 |
| 新文件所在目录的路径(相对于项目根目录) |
| 美元符号 |
| 新文件的名称 |
| 当前小时 |
| 当前分钟 |
| 当前秒 |
| 当前月份 |
| 当前月份的全名(如一月、二月等) |
| 当前月份名称的前三个字母(如 Jan、Feb 等) |
| 新实体的名称(文件、类、接口等) |
| IDE 名称(例如,RubyMine) |
| 当前项目的名称 |
| 当前系统时间 |
| 当前用户的登录名 |
| 当前年份 |
自定义模板变量
除了预定义模板变量,还可以指定自定义变量。 如果必要,可以在模板中使用 #set 指令直接定义自定义变量的值。 在使用相应的变量之前编写指令。
例如,如果您希望使用您的全名而不是通过预定义变量 ${USER} 定义的登录名,请在自定义变量之前添加以下构造:
如果变量的值在模板中未定义,RubyMine将会在应用模板时要求您指定该值。