Notepad++ EUC-JP対応版

有名なテキストエディタ"Notepad++"を日本語コードに対応したもの。


Notepad++
http://notepad-plus-plus.org/
Notepad++ EUC-JP対応版
http://notepad-plusplus-euc-jp.hp.infoseek.co.jp/



僕が使うためにNotepad++に注目した点としては、こんな感じです。
・タブ対応
・多数の言語に対応しているシンタックスハイライト機能
・コンソール
この辺り。後は今のところよく見てません。
今回はこれでコードを作る時に少し便利になる事をやってました


短いコードをポンポン書くので簡単にコンパイルができればいいな、と言う事で色々調べてみると、
バッチファイルに渡す動作をショートカットからできる方法があったので、こんなバッチファイルを書いてみました。
名前は"build.bat"とでもしておきました。

@echo off

set fname=%1
set option=
set exename=""
set CC=

:optloop
if "%2"=="" goto optend
set option=%option% %2
shift /2
goto optloop
:optend


if "%~x1"==".cpp" goto cpp_lang
if "%~x1"==".c" goto c_lang
if "%~x1"==".pl" goto perl_lang

goto not_suport_lang
:not_suport_lang
echo not support file
exit 0

:cpp_lang
echo compile cpp file.
set CC=g++
set exename=%fname:.cpp=.exe%
set option=%option% -o %exename%
goto build

:c_lang
echo compile c file.
set CC=gcc
set exename=%fname:.c=.exe%
set option=%option% -o %exename%
goto build

:perl_lang
set CC=perl
set option=%option% -c
goto build


:build

echo %CC% %option% %fname%
%CC% %option% %fname%

if ERRORLEVEL 0 if not %exename%=="" (
	echo ---EXEC---------------------------
	%exename%
)


要は、拡張子からファイルを判別して、ファイルと同じ階層に移動してコンパイルを行って、
無事コンパイルできて実行ファイル名も指定されていたら、実行するというもんです。
変数名が色々ぶっ飛んでるのはおいといて。
C,C++,Perlを頻繁に使うので、それだけ書いてます。
ただPerlは文法チェックができればいいので、実行はしません。


これを、デフォルトで入っているNppExecを利用して実行させます。
デフォルトのショートカットキーは"F6"に割り当てられているので押すと、
スクリプトを入力するテキストエリアが出てきます。
次にバッチファイルまでのフルパスと引数を与えます。
$(FULL_CURRENT_PATH)には、編集中のファイルへのフルパスが入ってます。

"D:\...\build.bat" "$(FULL_CURRENT_PATH)"

"Save"することでそのスクリプトに名前をつけて保存できます。


次に、"プラグイン"->"NppExec"->"Advanced Options"を開き、先ほど作ったスクリプトを登録します。
左下のMenuItemエリアに、"Associated Script"で、先ほど作ったスクリプトの名前を指定します。
"Item name"は適当につけていいです。
それで、Addすると、左上のリストに追加されます。


登録が終わったら、一度Notepad++を再起動し、次にショートカットを指定します。
"設定"->"ショートカット管理"を開き、"Plugin Commands"タブに、
先ほど作ったスクリプト(Item name)があるので、ショートカットを指定します。
僕はAlt+1に登録しましたが、競合するショートカットがあるので、そちらは無効にしておく必要があります。


これで、1回の動作でコードの文法チェックができるようになりました。快適。
TeraPadも同じ事ができるし、動作も軽くて軽快でいいんだけどねー。