2012-10-15 43 views
5

我想安裝記事本++ IDE,以便當我按F6時,我正在編輯的Ruby腳本將運行。在搜索互聯網後,我發現將 cmd /K ruby "$(FULL_CURRENT_PATH)" 放入彈出的運行對話框中,當我按F5鍵時,將在命令提示符(我正在使用Windows 7)中運行基本腳本。但是,如果我的代碼加載任何外部數據(如.txt文件),或者如我在Gosu中找到的那樣加載任何圖像文件,Ruby會抱怨事實上並不存在,事實上它確實存在。如何爲Ruby設置記事本++運行命令?

我知道我的代碼和Ruby安裝(Ruby 1.9.3)都沒問題,因爲在此之前,我一直在使用FreeRIDE,一個老舊的,有點多餘的IDE,我厭倦了,而且我的代碼運行良好我使用該IDE按F5。

抱怨的例子如下。

我的文字冒險:

C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text Focused Fold 
er/Ruby Scripts/Text Adventure/0.1.0/File Parser/DungeonContentFileParser.rb:8:i 
n `initialize': No such file or directory - Example Dungeon Creator File.txt (Er 
rno::ENOENT) 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Text Adventure/0.1.0/File Parser/DungeonContentFile 
Parser.rb:8:in `open' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Text Adventure/0.1.0/File Parser/DungeonContentFile 
Parser.rb:8:in `encapsulate_method' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Text Adventure/0.1.0/File Parser/DungeonContentFile 
Parser.rb:117:in `sort_room_data_external_method' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Text Adventure/0.1.0/File Parser/DungeonContentFile 
Parser.rb:125:in `<main>' 

D:\Programming Stuff\Notepad++> 

我的古藪計劃:

C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text Focused Fold 
er/Ruby Scripts/Game Development/Circular Motion.rb:10:in `initialize': Could no 
t load image media/Space2.png using either GDI+ or FreeImage: Unknown error (Run 
timeError) 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Game Development/Circular Motion.rb:10:in `new' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Game Development/Circular Motion.rb:10:in `initiali 
ze' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Game Development/Circular Motion.rb:181:in `new' 
     from C:/Users/Estanislao/Dropbox/Allway Sync/My Important Documents/Text 
Focused Folder/Ruby Scripts/Game Development/Circular Motion.rb:181:in `<main>' 

D:\Programming Stuff\Notepad++> 

如果任何人都可以在所有我真的很感激它借給任何幫助。

更新: knut的建議讓我在每次啓動程序後出現一些不方便的雜耍之後得到我想要的。有幾個問題。使用

cmd /K "cd "$(CURRENT_DIRECTORY)" && ruby "$(FULL_CURRENT_PATH)"" 

在默認運行對話框中不起作用。 (我得到了同樣的抱怨同上。)但是,使用NppExec和

cd "$(CURRENT_DIRECTORY)" 
ruby "$(FULL_CURRENT_PATH)" 

爲工作正常,但我的古藪代碼,這應該畫一個窗口和動畫一些圖像,沒有任何反應。但是,如果每次啓動Notepad ++,我都運行NppExec,然後使用默認運行對話框,使用該會話的內置運行命令,一切正常。任何想法爲什麼會發生這種情況,以及如何預防它?此外,我寧願讓Notepad ++打開命令提示符窗口,而不是在Notepad ++本身內部運行,就像NppExec一樣。謝謝你!

Update2:看起來,重新啓動我的電腦已經解決了這個問題,但現在我對實際發生的事情更加困惑。是否NppExec插件實際上允許事情按照我的意願工作,即使我在默認運行對話框中使用了保存的腳本?或者這是一個bug,保持

cmd /K "cd "$(CURRENT_DIRECTORY)" && ruby "$(FULL_CURRENT_PATH)"" 

從工作到我重新啓動?

回答

7

您的問題:隨着

cmd /K ruby "$(FULL_CURRENT_PATH)" 

您撥打的實際目錄紅寶石腳本 - 與實際目錄不能是你的源目錄。在我的測試案例中,它是Notepad ++的目錄。

您可以使用:

cmd /K "cd "$(CURRENT_DIRECTORY)" && ruby "$(FULL_CURRENT_PATH)"" 

但我建議使用NppExec的插件。 隨着NppExec你可以這樣定義一個命令:

cd "$(CURRENT_DIRECTORY)" 
ruby "$(FULL_CURRENT_PATH)" 

所以,你開始你的Ruby腳本,在正確的目錄。

或者更簡單:

您設置的選項Plugins->nppexec >follow $(current directory)

ruby "$(FULL_CURRENT_PATH)" 

也許也很有意思開始NppExec:

+0

cd命令也應該使用'/ D'開關。否則它只會在當前文件與記事本位於同一個驅動器時才起作用!所以完整的命令是:'cmd/K「cd/D」$(CURRENT_DIRECTORY)「&& ruby​​」$(FILE_NAME)「」' –

相關問題