0
2

More than 3 years have passed since last update.

[Notepad++] C言語/Java コンパイル&実行環境の構築

Last updated at Posted at 2020-05-02

事前準備

コンパイラを用意し、使い方を調べる

  • この記事はborlandを使用する
bcc32 -n出力パス inputFile.c

-nのうしろにスペースを入れないように

文字コード

  • プログラムのソースファイルと、これから作成するバッチファイルの文字コードは、こちらではShift-JISに統一している
  • もし文字化けが出た場合、文字コードを変えてみてください

手順

1. Notepad++プラグインのNppExecをインストール

  • 複数行のコマンドを一気に実行できるプラグイン。
  • それらのコマンドをスクリプトのように管理できる。
  • スクリプトをメニューアイテム/ホットキー候補に作り、Notepad++に提供。
  • インストールには、プラグインメニュー>プラグイン管理>チェック>インストール

2. バッチファイルを用意する

  • 外部コマンドプロンプトで、コンパイル済みEXEファイルを実行
  • 実行終了時に自動的にpauseをかけて、ウィンドウを保持
  • 作成フォルダはどこでも良い
runC.bat
@%1
@echo ーーーーーーーーーーーーーーーーーーーーーーーーーー
@echo ーーーーーーーーーーーーーーーーーーーーーーーーーー
pause
  1. パラメータで渡されたEXE(フルパス)を実行
  2. 終了の目印
  3. 終了の目印
  4. ウィンドウを保持

3. NppExecスクリプトを作る

  • プラグイン>NppExec>Execute
  • 下記のコードを入れて、【内容】は自分の環境に合わせて書き換える
  • OKをクリックし、動作を確認する
  • 確認できたら、もう一度プラグイン>NppExec>Executeを開き、スクリプトに名前を付けてSaveする(例runC
runC
NPP_SAVE
set obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
cd 【C:\C\borland\Bin】
【bcc32 -n$(CURRENT_DIRECTORY) $(obj).c】
cd $(CURRENT_DIRECTORY)
NPP_RUN 【B:\USER_FLODER\document\runc.bat】 "$(obj).exe"
unset obj
  1. 開いているソースファイルを保存
  2. 拡張子なしのフルパスを変数に代入 ※$(XXX)はNotepad++の環境変数
  3. コンパイラディレクターに移動
  4. コンパイル
  5. 実行フォルダに移動
  6. EXEフルパスを渡して、バッチファイルを外部実行
  7. 変数objの消去

4. スクリプトをメニューアイテム/ホットキー候補に登録

  • プラグイン>NppExec>Advanced Options>左下のMenuItem欄に注目
  • メニューアイテム表示名を入力し(例runC)、スクリプトを選び、Add/Modifyで登録
  • 右下のOKをクリックし、「Notepad++再起動まで変更が反映されないよ」のメッセージボックスが出る。
  • Notepad++再起動

5. ショートカットキー設定

  • 設定>ショートカット管理>プラグインタブ
  • runCにショートカットキーを設定
  • もし競合が出たら、競合するメニューアイテムのショートカットが使わないものなら、解除しても構わない

6. Java編

runj.bat
@java %1
@echo ーーーーーーーーーーーーーーーーーーーーーーーーーー
@echo ーーーーーーーーーーーーーーーーーーーーーーーーーー
pause
runJ(NppExec用スクリプト)
NPP_SAVE
set obj = $(CURRENT_DIRECTORY)\$(NAME_PART)
cd $(CURRENT_DIRECTORY)
"C:\Program Files\Java\jdk1.8.0_181\bin\javac.exe" $(obj).java
NPP_RUN B:\USER_FLODER\document\Java\runJ.bat $(NAME_PART)
unset obj
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2