go 言語において各種コマンドを実行する際には、GOPATH
という環境変数が設定されている事が望ましい訳です。
絶賛 Windows ユーザですので CUI は余り好まないのですけども、全てを GUI で操作出来る訳でもない状況でありますので、Windows 標準のファイラーであるところのエクスプローラをレジストリを弄って拡張します。
まずはGOPATH
を設定するシェルスクリプトを記述します。
runwithgo.cmd
というファイル名で好きなディレクトリにテキストファイルを作成します。
内容としては以下のようにします。
@echo offset GOPATH=%1set PATH=%GOPATH%\bin;%PATH%cd %1@for /f "tokens=3,4 delims= " %%a in ('go version') do @title %GOPATH%@%%a %%b&@echo %%a %%b
次にエクスプローラを拡張する為のレジストリファイルを作成します。
gopath.reg
というファイル名で好きなディレクトリにテキストファイルを作成します。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\go]@="ここをGOPATHにする"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\go\command]@="cmd /k \"C:\\development\\go\\runwithgo.cmd %1\""
このファイルはUnicode
で保存して下さい。
ここをGOPATHにする
の部分は自分で分かり易い様にして下さい。
下段のファイルパスは、先ほど作成したrunwithgo.cmd
を保存したパスを絶対パスで指定して下さい。
\
をエスケープするのを忘れたり、パスの中に半角スペースが含まれていると大体酷い事になるので、その様な事が無いように気を付けて下さい。
最後に、gopath.reg
をダブルクリックして結合して下さい。
上手くいくと以下の様にエクスプローラにメニューを追加できます。
タイトルに、go のバージョンと現在のGOPATH
が設定された状態でコマンドプロンプトが起動します。