如何在RubyMine中传递当前打开文件给rake任务以运行rubycritic?
在RubyMine中对当前打开文件运行RubyCritic的解决方案
1. 给Rake任务传入当前打开文件的方法
RubyMine内置了宏变量可直接获取当前激活文件的路径,你需要的是$FilePath$,配置方式如下:
步骤1:编写支持参数的Rake任务
确保你的Rake任务能接收文件路径参数,示例代码:
desc "Run RubyCritic on the specified file" task :analyze_file, [:target_file] do |_task, args| unless args[:target_file] && File.exist?(args[:target_file]) abort "Error: Invalid or missing file path" end system("rubycritic #{args[:target_file]}") end
步骤2:配置RubyMine的Rake任务参数
- 打开Run > Edit Configurations
- 找到你已创建的Rake任务配置项
- 在Tasks输入框中,将任务名修改为:
analyze_file[$FilePath$] - 保存配置后,运行该任务就会自动把当前打开的文件路径传入Rake任务
2. 更简便的替代方案(无需Rake任务)
不用编写Rake任务也能实现需求,直接配置Shell脚本运行配置更高效:
- 打开Run > Edit Configurations,点击
+选择Shell Script - 在Script path输入框中填写
rubycritic - 在Arguments输入框中填写
$FilePath$ - 配置完成后,运行该配置就能直接对当前打开的文件执行RubyCritic分析
内容的提问来源于stack exchange,提问作者Mark Kadlec
相关产品推荐
相关产品推荐

