NppExec插件 - 在哪里设置命令行参数 - npp_exec"脚本名称" param_1" param 2"

时间:2011-12-13 23:40:30

标签: notepad++ nppexec

NppExec dochelp说:

  
      
  • 现在NPP_EXEC命令可以将参数传递给脚本。可以通过以下方法在脚本中访问这些参数   宏变量:$(ARGC)$(ARGV)$(ARGV[n])。示例:npp_exec "script name" param_1 "param 2"。此示例设置以下内容   脚本的值:$(ARGC) = 3; $(ARGV) = param_1 "param 2"; $(ARGV[0]) = script name; $(ARGV[1]) = param_1; $(ARGV[2]) = param 2.
  •   

但我不知道在哪里设置它。是在执行框还是在高级选项中?

例如,

  # counter_thread.rb
count = 0
counter_thread = Thread.new do
  1.upto(1000000) { count += 1; }
end

counter_thread.join unless ARGV[0]
puts "The counter was able to count up to #{count}."

测试1:NppExec运行正常,因为没有参数

counter_thread.rb
The counter was able to count up to 1000000.

测试2:想知道下面的设置。 (dont_call_join在这里是一个参数)

counter_thread.rb dont_call_join

1 个答案:

答案 0 :(得分:0)

假设counter_thread.rb是一个当前在Notepad ++中打开的文件,那么ruby counter_thread.rb dont_call_join将以通常的方式将dont_call_join作为参数传递给Ruby(即通过ARVG)。

这将按照您的预期运行您的代码 - 如果您将参数传递给Ruby程序,则计数线程不会运行,否则它会运行。

也许这是更好的例子?

      inputbox "What is your name?" : Nobody    
      ruby -e "puts \"Hello #{ARGV[0]}!\" " $(INPUT[1])

第一行弹出一个消息框以获取用户输入(默认为Nobody)。 第二行将用户输入传递给ruby one liner程序。 NppExec促进。