5

F6 を押すと、編集中の Ruby スクリプトが実行されるように、Notepad++ IDE をセットアップしようとしています。インターネットを検索した後、F5 キーを押したときにポップアップする実行ダイアログ ボックスに入ると、コマンド プロンプトで基本的なスクリプトが実行されることがわかりました cmd /K ruby "$(FULL_CURRENT_PATH)" (私は Windows 7 を使用しています)。

しかし、私のコードが .txt ファイルなどの外部データをロードしたり、Gosu で見つけたように画像ファイルをロードしたりすると、Ruby は実際には存在するものが存在しないと文句を言います。

自分のコードと Ruby のインストール (Ruby 1.9.3) が問題ないことはわかっています。以前は FreeRIDE を使用していました。FreeRIDE は古くてややバグのある IDE で、飽きてきました。そのIDE。

苦情の例を次に示します。

私のテキストの冒険:

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)"

ウィンドウを描画し、いくつかの画像をアニメーション化する必要がある私の Gosu コードを除いて、それは正常に動作するため、何も起こりません。ただし、Notepad ++を起動するたびにNppExecを実行し、デフォルトの実行ダイアログを使用すると、そのセッションの組み込みの実行コマンドを使用してすべてが正しく機能します。これがすべて発生する理由とそれを防ぐ方法についてのアイデアはありますか? また、NppExec の場合のように、Notepad++ 自体の内部で実行するのではなく、Notepad++ でコマンド プロンプト ウィンドウを開くことをお勧めします。そしてありがとうございました!

更新 2:コンピューターを再起動すると問題が解決したようですが、実際に何が起こっているのかについてさらに混乱しています。デフォルトの実行ダイアログに保存されたスクリプトを使用しているにもかかわらず、実際に私が望むように動作させるのは NppExec プラグインですか? または、これはバグですか?

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

仕事から再起動するまで?

4

1 に答える 1

7

あなたの問題:

cmd /K ruby "$(FULL_CURRENT_PATH)"

実際のディレクトリで ruby​​-script を呼び出します。実際のディレクトリは、ソースのディレクトリであってはなりません。私のテストケースでは、それは Notepad++ のディレクトリでした。

以下を使用できます。

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

ただし、NppExec-Plugin を使用することをお勧めします。NppExec を使用すると、次のようなコマンドを定義できます。

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

したがって、適切なディレクトリで Ruby スクリプトを開始します。

またはさらに簡単:

オプションを設定し、Plugins->nppexec >follow $(current directory)NppExec を起動します

ruby "$(FULL_CURRENT_PATH)"

たぶんまた興味深い:

于 2012-10-15T21:26:01.693 に答える