HTTPS SSH

cosplay2 - Windows用環境変数切り替えツール -

Go言語のキャッチアップもかねて前作った cosplay を再実装.

動作について

やってることは

  • 設定ファイルに定義された環境変数を既存環境変数の前に追加
  • コマンドプロンプトを起動

なだけです.

制約

Go言語的な制限が一個あって、設定ファイルに書く環境変数展開記法は、%VAR%じゃなくて${VAR}です.

Goのos.ExpandEnvがWindows形式の環境変数展開に対応してないんですわ

ライセンス

MIT ということに

作者

タナカ ケンイチ (TANAKA Kenichi) aka チクチーク・ゴンザレス (chikuchikugonzalez)

連絡先

E-mail

  • mailto:chikuchikugonzalez@gmail.com
  • mailto:chiku2gonzalez@live.jp

Twitter

活動場所


使用方法

コマンド的には

C:\> cosplay2 closet add ruby200 "Ruby 2.0.0 Environments"
C:\> cosplay2 start ruby200

が基本です. 前のバージョン同様 cosplay2 closet edit でテキストエディタ経由で設定ファイル弄れます.

設定ファイルは %USERPROFILE%\cosplay2.config なので、直接編集してもいいかも.

cosplay2.configファイル

今度はJSONです(`・ω・´)

{
    "costumes": [
        {
            "name": "ruby210",
            "group": "",
            "summary": "Ruby 2.1.0 Environment",
            "description": "Ruby 2.1.0 Environment",
            "inners": [],
            "outers": [],
            "variables": [
                {
                    "name": "RUBY_HOME",
                    "value": "P:\\Ruby\\Ruby210",
                    "replace": true
                },
                {    // 使えない方
                    "name": "PATH",
                    "value": "%RUBY_HOME\\bin",
                    "replace": false
                },
                {   // 使える方
                    "name": "PATH",
                    "value": "${RUBY_HOME}\\bin",
                    "replace": false
                }
            ]
        }
    ],
    "editor": "gvim"
}

サンプルcosplay2config

{
    "costumes": [
        {
            "name": "devkit47",
            "group": "",
            "summary": "Ruby Devkit (mingw32) 4.7.2",
            "description": "Ruby Devkit for RubyInstaller's Ruby 1.9.x or later",
            "inners": [],
            "outers": [],
            "variables": [
                {
                    "name": "RI_DEVKIT",
                    "value": "P:\\Ruby\\DevKit-4.7.2",
                    "replace": true
                },
                {
                    "name": "PATH",
                    "value": "${RI_DEVKIT}\\bin",
                    "replace": false
                },
                {
                    "name": "PATH",
                    "value": "${RI_DEVKIT}\\mingw\\bin",
                    "replace": false
                }
            ]
        },
        {
            "name": "ruby200",
            "group": "",
            "summary": "Ruby 2.0.0",
            "description": "Ruby 2.0.0 (mingw32) by RubyInstaller",
            "inners": [],
            "outers": [],
            "variables": [
                {
                    "name": "RUBY_HOME",
                    "value": "P:\\Ruby\\Ruby200",
                    "replace": true
                },
                {
                    "name": "PATH",
                    "value": "${RUBY_HOME}\\bin",
                    "replace": false
                },
                {
                    "name": "PATH",
                    "value": "${RUBY_HOME}\\sbin",
                    "replace": false
                }
            ]
        },
        {
            "name": "ruby200dev",
            "group": "",
            "summary": "Ruby 2.0.0 with DevKit",
            "description": "Ruby 2.0.0 (mingw32) with DevKit 4.7",
            "inners": [
                "ruby200"
            ],
            "outers": [
                "devkit47"
            ],
            "variables": null
        }
    ],
    "editor": "gvim"
}