Skip to content

Instantly share code, notes, and snippets.

@mk2
Last active February 17, 2021 09:27
Show Gist options
  • Save mk2/6532656 to your computer and use it in GitHub Desktop.
Save mk2/6532656 to your computer and use it in GitHub Desktop.
Wndowsにおける快適な開発環境のセットアップ

Windows上における快適な開発環境のセットアップについて

Windows上で快適な開発環境をセットアップするためのメモです。

更新履歴

更新日 更新内容
2014-02-23 Sleipnir4の部分を修正

ソフトウェア

エディター

有名なエディター。プログラムを書くには適さないが、シンプルなテキストファイルを編集するだけなら十分に使える。また文字化けすることがまずないので、テキストビューワーとして使うと最適かもしれない。

The text editor you'll fall in love with というサブタイトルがついているエディター。マルチプラットフォーム(Linux/OSX/Windows)で動く。最近のエディター界ではもっとも活発に活動されているのではないかと思う。プラグインも豊富で、非常に便利。 Windowsで何かプログラムを書くならSublimeTextを使用することをお勧めしたい。

お勧めプラグイン

PackageControlでインストールできるプラグイン。

  • BracketHighlighter
  • SideBarEnhancements
  • IMESupport
    • これがないとWindows上でIME経由の日本語入力ができない。
  • ConvertToUTF8
    • ShiftJISのファイルを読み込める。
  • SublimeSFTP
  • SublimeSVN
    • あまりSVNは使わないが、wbondさんへのお布施ということで。
  • (Vintage)

セッティング

SublimeTextは設定ファイルをいじることでエディターの動作や見た目を細かくいじることができる。 いつも自分がいじるものを列挙する。

  • ignored_packages
    • デフォルトでは["Vintage"]が値として設定されているので、Vintageモード(nearly equals Viモード)を使用する場合は[](空の配列)を値として設定する。
  • vintage_start_in_command_mode
    • 起動時からVintageモードを使用する場合はtrueを設定。
  • vintage_ctrl_keys
    • コントロールキーを組み合わせたキーボードショートカットを有効にする。trueにしておくと良いと思う。
  • font_options
    • 文字描画に関係するオプション。Windows上だと["directwrite"]にしておけばdirectwriteによる描画が有効になり、とても見やすい画面になる。
  • translate_tabs_to_spaces
    • タブを挿入するとスペースが挿入されるようにする。
  • rulers
    • ルーラー(縦線)をエディター画面に表示する。私はPEP8を参考にして80文字目にルーラーを表示しています。
  • tab_size
    • PEP8を参考に4に設定。
  • word_wrap
    • trueに設定。
  • wrap_width
    • 80に設定。
  • highlight_line
    • 現在キャレットがある行をハイライト(色が変わる)する設定。trueのほうが見やすいと思うので、trueに設定。
  • caret_style
    • キャレット(現在編集している箇所を示す記号)のスタイル。phase(滑らかな点滅)が何となく好きなのでphaseに設定。
  • indet_guide_options
    • インデントガイドをどのように表示するか。draw_activeにすると現在フォーカスがあたっているブロック(例えば関数)のインデントガイドの色が変わる。
  • drag_text
    • 選択した部分のテキストをドラッグ&ドロップしてコピーする機能。あまり必要性を感じないのでfalseに設定。
  • highlight_modified_tabs
    • 編集したタブは、ファイル名の文字色が変わり、編集したことがはっきりとわかるようになる。

ターミナルソフト

PuTTYもあるが、日常的に使うならTeraTermの方が便利だと思う。特にLogMeTTと組み合わせて使うと、利便性が増す。サーバーへの自動ログインをLogMeTTで設定して、通知領域アイコンを右クリックして表示したコンテキストメニューからのログインは非常に便利。

; TeraTermマクロ
; シンプルなログイン(平文パスワード)の例
hostname = "192.168.0.1"
getpassword "C:\...\mk2\teraterm\simple_login.txt" "password" password

; connect and login
msg = hostname
strconcat msg ":22 /ssh /2 /user=mk2"
strconcat msg " /passwd="
strconcat msg password
connect msg
; TeraTermマクロ
; SSH公開鍵認証を使うログインの例
hostname = "192.168.0.1"
privatekey = "C:\...\mk2\.ssh\id_rsa"
getpassword "C:\...\mk2\teraterm\ssh_login.txt" "passphrase" passphrase

; connect and login
msg = hostname
strconcat msg ":22 /ssh /2 /auth=publickey /user=mk2"
strconcat msg " /keyfile="
strconcat msg privatekey
strconcat msg " /passwd="
strconcat msg passphrase
connect msg
; TeraTermマクロ
; 2段階ログイン(踏み台サーバーを経由してのログイン)の例
hostname = "test.example.com"
privatekey = "C:\...\mk2\.ssh\id_rsa"
getpassword "C:\...\mk2\teraterm\test_example_com.txt" "passphrase" passphrase

; 踏み台サーバーへのログイン
; 初回ログイン時はパスフレーズを要求される(入力するとファイルに暗号化されて保存)
msg = hostname
strconcat msg ":22 /ssh /2 /auth=publickey /user=mk2"
strconcat msg " /keyfile="
strconcat msg privatekey
strconcat msg " /passwd="
strconcat msg passphrase
connect msg


; 本番サーバーへのログイン
ssh_command = "ssh "
ssh_str = "[email protected]"
strconcat ssh_command ssh_str
remote_prompt = "$"
password_prompt = "pass"
getpassword "C:\...\mk2\teraterm\192_168_0_1.txt" "password" password

; "$"が返ってくるのを待つ
wait remote_prompt
; ログインするためのsshコマンドを送信
sendln ssh_command
; パスワードプロンプトが返ってくるのを待つ
wait password_prompt
; パスワードの送信
sendln password

ファイラー

数あるファイラーの中でも一番使いやすいと思うファイラー。サイドバーでのDnD操作禁止や、削除のデフォルト「いいえ」機能など誤操作を防止する機能が満載で、安心して使える。注意点としては、64bitのWindowsに32bit版の秀丸ファイラーを入れるとコンテキストメニューの動作がバギーになるので、必ず64bit版を入れること。

セッティング

非常に細かく設定できる。設定する際は「上級者向け設定」をオンにして設定を行うこと。

  • 全般
    • 履歴
  • 表示
    • フィルタ
  • プログラム
    1. 規定のファイラーにする => 実行
    2. 二重起動しない => ON
    • 常駐
      1. タスクトレイに常駐させる => ON
      2. 呼び出しキー:『CTRL + F12』
      3. 呼び出しキーを押した時:『開く』
      4. 左シングルクリック:『開く』
      5. 既にウィンドウがある場合アクティブにする => ON
    • 新規タブ等
    • Win+E
      1. Windowsキー+Eキーで秀丸ファイラーClassicを移動する => ON
      2. タスクトレイに表示 => ON
  • タブ
    • デザイン
      1. ボタン型 => ON
      2. 描画方法を指定:『アクティブに線』(線カラーはデフォルト) => ON
      3. タブごとの閉じるボタン:『アイコンを閉じるボタン(常に)』
      4. ウィンドウ幅からはみ出すとき:『複数段』
    • タブ名
    • 配置
    • マウス操作
      1. 左ダブルクリック:『ロック』
      2. 分離/分割の禁止 => ON
  • デザイン/操作
    • フォルダツリー1
      1. サブフォルダの線を表示 => ON
      2. クリックで名前変更の禁止 => ON
      3. ドラッグ開始の禁止 => ON
      4. ドロップの禁止 => ON
      5. 削除キーの禁止 => ON
      6. 自動縦スクロール => ON
    • フォルダツリー2
    • ファイル一覧1
      1. ストライプ表示 => ON
      2. グリッドライン:『縦横』 => ON
      3. ソート列の色を変える => ON
      4. 行全体で選択 => ON
      5. チェックボックスで選択 => ON
      6. アイコンを選択色で表示 => ON
    • ファイル一覧2
      1. 幅を自動で広げる => ON
        1. 最大幅:『100』
      2. フォルダを常に上位にする => ON
      3. 自動ソート => ON
      4. 第二要素のソート => ON
      5. 秒を表示 => OFF
    • ファイル一覧3
      1. スペースキーで複数選択 => ON
      2. 名前変更で拡張子を除外する => ON
      3. 初期状態で先頭項目を選択 => ON
      4. クリックで名前変更の禁止 => ON
    • タイトルバー
      1. タイトルバーにファイルのパス名を表示する => ON
      2. タイトルバー等にドロップ可能にする => ON
    • ステータスバー
      1. ツールチップ情報を表示 => ON
      2. 右側にフォルダ内のファイルの総サイズを表示 => ON
      3. 右側に選択ファイルのサイズを表示 => OFF
    • 注目バー
    • コンテキストメニュー
    • フォント
      1. フォントを指定 => ON
        1. フォント:『Meiryo UI 9ポイント』
    • VisualStyle
      1. VisualStyle表示 => ON
      2. 選択項目にも適用 => ON
  • ドラッグ&ドロップ
    1. 標準 => ON
    2. ドロップ時に確認メッセージを表示 => ON
    3. ドラッグ中にマウスホイールでタブを切り替え => ON
  • 安全操作
    1. 削除の確認メッセージをゴミ箱の設定がOFFの場合独自に表示する => ON
    2. 削除の確認メッセージの最初のフォーカスを「いいえ」にする => ON
    3. フォルダツリーで削除キーの禁止 => ON
    4. ドロップ時に確認メッセージを表示 => ON
    5. ロックしたタブを閉じるとき確認メッセージを表示 => ON
    6. ブックマーク/ツール項目を並び替えた時、キー割り当て/ジェスチャの並び替えをどうするかの確認メッセージを表示 => ON
  • 上級者向け
    • 共有フォルダ
    • ネットワーク
    • Windows8
      1. ユーザーごとのフォト/ビデオ/ミュージックの関連付けを使わない => ON
      2. コンピュータ直下のメディアサーバーをツリーに表示しない => ON
    • デバッグ

マウスジェスチャ

メニューの「ツール」 > 「ジェスチャ」で開くウィンドウからマウスジェスチャを有効化することができる。

  • タブを閉じる
    • ↓→

ツール

  • PowerShellを開く
    • 現在開いているフォルダでPowerShellを開く。
    • "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoExit -Command Set-Location %V

Windows上でSFTPやSCPをしたい場合はこのソフトウェアが一番便利だと思う。

セッティング

設定しなくても十分使えるが、「オプション」 > 「環境設定」から開く設定ダイアログで次の設定を加える。

  • エディタ
    • マスク「.」のエディタを秀丸エディタに設定しておくと、ほとんどの日本語ファイルを文字化けせずに読むことができる。内蔵エディタは結構文字化けするのであまり使い物にならないかもしれない。

統合開発環境

その道で有名なIDE。Eclipseとそれほど機能的に変わる部分はないので、人とは違うものが使いたい場合はこちらを選ぶのも有り。Ultimate版(有料版)は毎年お布施をしていかないといけないので、少し面倒。 個人で購入しても職場でそのライセンスを使うことができる。

セッティング

  • IDE Settings
    • Appearance
      1. Theme: 『Alloy. Default Theme』
      2. Override default fonts by: Name[Meiryo UI], Size[12] => ON

プラグイン

  • File Watchers
    • 最も強力なプラグイン(だと思う。)ファイルの状態を監視し、変更があればコンパイルする等の処理を自動で行えるようにできる。
  • IdeaVim
    • Vimライクなキー操作を実現できる。
  • LiveEdit
  • PHP
  • TeamCity Integration
  • Command Line Tool Support

あらかじめ日本語化された状態で配布されているEclipse。Eclipseはプロジェクト毎に新しく環境を作り直したりすることもあると思うので、こういうパッケージで配布されているのはありがたい。

セッティング

  • Java
    • 外観
      1. 最終セグメントを除く、すべてのパッケージ名セグメントを圧縮:『.』 => ON

プラグイン

  • viPlugin
    • Eclipseでviライクなキーボード操作が行えるようになる。
  • Jeeeyul's Eclipse Themes
    • Eclipseの見た目を綺麗にできる。Eclipse4.x以降のタブデザインが気に入らない場合は入れると良い。

メーラー

テンプレート機能が充実しているメーラー。細かくテンプレートを設定できるので、非常に便利。

テキストユーティリティソフト

Windowsで動く最高のDiffユーティリティソフト。個人的にはテキストの比較よりもフォルダー同士の比較によく用いる。すごく便利。

解凍・圧縮ユーティリティソフト

Windowsだとこういったユーティリティ系はWinRARや7zipが有名だが、PeaZipもなかなか。デザインが小奇麗で使いやすい。また追加されるコンテキストメニューも使いやすい。

コマンドライン環境

PowerShellで日報ファイルを自動作成する

これをタスクスケジューラで定期的に実行しておくようにする。

$date = Get-Date
$date_folder_root = "C:\...\mk2\Documents\ファイル(日付毎)"
$folder_name = $date.Year.ToString() + "_" + ("{0:00}" -F $date.Month) + ("{0:00}" -F $date.Day)
$date_folder = $date_folder_root + "\" + $folder_name
echo $date_folder を作成します。
mkdir $date_folder

echo $folder_name の作業日報ファイルを生成します。
$nippou_template_file = $date_folder_root + "\作業日報.txt"
$nippou_file = $date_folder + "\作業日報_" + $folder_name + ".txt"
cp $nippou_template_file $nippou_file

UNIX系のソフトウェアをさっくり使うのに便利。最近64bit版が出た模様。また数年前からデフォルトでminttyが使われるようになったので、見た目も良くなった。

パッケージ管理ソフト。OSXのHomebrew的なイメージか。あまり使ったことがない(じゃあ書くなよ)のでわからないのだが、便利そう。しかしインストーラーで何でもProgram Filesに放り込んでしまう方がWindowsらしいとも言える。

画像編集ソフト

Photoshopのような画像編集ソフト。Photoshopほど多機能ではないが、簡単な資料用の画像を作るなら十分すぎるほどの性能を持つ。特に設定せずに快適に使える。

スクリーンキャプチャフト

Sleipnirで有名なFenrirが出しているスクリーンキャプチャソフト。設定を変更してすべてのスクリーンをクリップボードに保存するようにすると便利。Paint.NETと組み合わせて使うとより捗る

セッティング

  • 詳細設定ダイアログ
    • キャプチャの保存先 => 「クリップボード」に変更。

バージョン管理ソフト(VCS)

TortoiseSVNのGit版。Git for Windowsに依存しているが、公式サイトによると、(recommended order: install TortoiseGit first).とのことなので先にTortoiseGitをインストールしよう。またGit for Windowsを入れる際はコンテキストメニューの追加はしないこと。追加してしまうとコンテキストメニューに無駄な項目ができる(どうせGitの機能はTortoiseGit経由でしか使わないので)ので、削除するのが面倒。

  • もしコンテキストメニューを追加してしまった場合はregedit.exeを起動してキーを「Git-Cheetah」で検索し、下記のキー値を削除すること。
    • [HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\Git-Cheetah]
    • [HKEY_CURRENT_USER\Software\Classes\Directory\Background\shellex\ContextMenuHandlers\Git-Cheetah]
    • [HKEY_CURRENT_USER\Software\Classes\Drive\shellex\ContextMenuHandlers\Git-Cheetah]
    • [HKEY_CURRENT_USER\Software\Classes\Folder\shellex\ContextMenuHandlers\Git-Cheetah]
    • [HKEY_CURRENT_USER\Software\Classes\InternetShortcut\shellex\ContextMenuHandlers\Git-Cheetah]
    • [HKEY_USERS\S-1-5-21-1529806211-1203555655-317942730-1002\Software\Classes*\shellex\ContextMenuHandlers\Git-Cheetah]

定期実行

タスクスケジューラ

コントロールパネルで「タスクスケジューラ」で検索しても出てこない。「タスク」で検索すること。

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2013-03-22T19:11:57.9802263</Date>
    <Author>mk2-pc\mk2</Author>
    <Description>日付フォルダと、日付日報ファイルを自動生成する。PowerShellのスクリプトを実行する。</Description>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2013-03-28T10:15:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>okabayashi-pc\okabayashi</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
    <Priority>7</Priority>
    <RestartOnFailure>
      <Interval>PT5M</Interval>
      <Count>3</Count>
    </RestartOnFailure>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>powershell.exe</Command>
      <Arguments>C:\...\mk2\Documents\PowerShell\日付フォルダ自動生成.ps1</Arguments>
    </Exec>
  </Actions>
</Task>

セッティング

タスクごとに設定は異なるが、よく設定する項目を書いておく。

  • 設定
    1. タスクを要求時に実行する => ON
    2. スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する => ON
    3. タスクが失敗した場合の再起動の間隔:『5分間』 => ON
      • 再起動試行の最大数:『3回』
    4. タスクを停止するまでの時間:『1時間』 => ON
    5. 要求時に実行中のタスクが終了しない場合、タスクを強制的に停止する => ON

ブラウザー

Fenrirがリリースしているブラウザ。大量のタブを開くようなブラウザの使い方をする場合、タブグループの存在のおかげで非常に便利に使える。

  • 2014-02-23追記: 後継ブラウザであるSleipnir5が発表され、Sleipnir4は打ち止めとなった。Sleipnir5は4と全く操作感がことなり、常用に堪えるものではなくなった。大量のタブを開いてブラウザを使う場合は、FireFox等でプラグインを導入して利用するのが賢明かもしれない。

セッティング

カスタマイズ(C)...で開くダイアログ
  • ブックマーク
    1. ブックマークの種類:『フォルダ管理』
  • ツールバー
    • アドレスバー
    • ブックマークバー
    • ページ検索バー
    • 検索バー
    • UIのカスタマイズ
  • パネル
    • パネル
    • ブックマークパネル
    • 履歴パネル
  • タブ
    • 最近閉じたページ
    • タブ
      1. タブに閉じるボタンを表示する => ON
      2. タブの幅:『150』
      3. タブの高さ:『26』
      4. スタイル:『多段表示』
      5. タブの位置:『上』
    • タブの復元
    • タブの追加と削除
    • タブポップアップ
    • クリック割り当て
  • タブグループ
    • タブグループ
      1. 検索結果をグループにする => ON
      2. 検索結果ごとにタブグループを作成する => OFF
      3. タブグループの幅:『120』
      4. タブグループの高さ:『26』
    • 検索結果タブグループ
      1. ブックマークなどを開こうとしたとき:『標準のタブグループで開く』
    • タブグループの追加と削除
    • エコモード
    • クリック割り当て
  • タスクバー
    • ジャンプリスト
  • Fenrir Pass
    • Fenrir Pass
      1. ブックマークを自動で同期する => ON
      2. Google Mapを開いた時「ページをモバイルで開く」を表示する => OFF
      3. 電話番号にリンクを付ける => OFF
  • マウス
    • マウス割り当て
    • マウスジェスチャ
    • マウス
      1. Hold And Goを使用する => ON
  • キーボード
    • キーボード
      1. IMEの状態を同期する => ON
  • セキュリティ
    • デフォルトセキュリティ
    • クイックセキュリティ
  • 詳細
    • セットアップ
    • クリップボード
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment