概要
昔から、WindowsおよびLinux双方に向けたネイティブモジュールの開発を行う仕事をしてきていたため、開発環境の準備には悩まされてきました。
この春、Windows Terminalが正式リリースされ、WSL2も出たことで改めて環境を整えた結果の備忘録になります。
開発しているもの、環境
元々C言語開発者で、WindowsおよびLinux双方で同じように動作をするネイティブモジュールの開発を行ってきました。
その昔はWindowsはVisual Studio、Linuxはサーバ環境で開発を行ってきていましたが
段々と開発環境を見直してきています。
5年ほど前の開発環境
項目 | 利用ツール/システムなど |
---|---|
使用ターミナル | Poderosa |
Linux仮想環境 | VMWare |
Linux開発エディタ | Vim |
Windows開発エディタ | Vim |
Windows開発支援ツール | Cygwin |
当時思っていた課題をつらつらと
- Windows環境の準備が煩雑。Cygwinを入れる面倒さ、重さなど。
- Poderosaの最新版が有償化してしまった。よいダブターミナルがないか……
- Linuxの仮想環境を立ち上げておくためそこそこのスペックが必要
- Vim好きだが、統合開発環境も使えるようにしたいな……
2018年頃
項目 | 利用ツール/システムなど |
---|---|
使用ターミナル | Poderosa |
Linux仮想環境 | VMWare |
Linux開発エディタ | VS CODE |
Windows開発エディタ | VS CODE |
Windows開発支援ツール | Cygwin |
開発エディタを模索していて、Atomを使っていたがVS CODEが良いという噂を聞いて開発環境刷新
エディタはVS CODEへ変更(操作はVimベースですが……)
また、Linux仮想環境をWSLへ置き換えを検討。ただし断念。
- 開発をガリガリしていたら固まったり落ちたりが目立った
- 理由は不明だがIOが遅かった
- Windowsとのファイル共有する際のパス構成に癖があった(気がする。うろ覚え)
結果、開発エディタはVS CODEへ移行するものの他は大きく変えなかった。
今回
項目 | 利用ツール/システムなど |
---|---|
使用ターミナル | Windows Terminal |
Linux仮想環境 | WSL2 |
Linux開発エディタ | VS CODE |
Windows開発エディタ | VS CODE |
Windows開発支援ツール | ? |
Windows Terminal操作感
さようならPoderosa、こんにちはWindows Terminal。
やっとタブ管理可能なターミナルソフトで良いものが出てきました。
目的が複数のサーバ管理とかなら機能が豊富なPoderosaでも良いかと思いますが、自PCでの開発目的ならこちらが良いかなと。
まだV1で設定画面がないなど使い勝手が悪い面もありますが、これからのアップデートに期待。
WSL2操作感
まだいじっている最中ですが、動作も軽くLinuxとして問題なく操作できています。
パスの管理もさほど難しくなく、そのうちファイルエクスプローラーとの統合もされるということでより使いやすくなるのではないかと。
初回起動も早いし、十分Linux環境として使っていけそうです。
わざわざVMWareで環境を常時起動させておく必要がなくなりました。
VS CODEからも簡単にWSLをTerminalとして立ち上げられるので、Windows環境で簡単にLinux開発が行なえます。
Cygwinの置き換えは可能?
よくわかっていませんが、現状難しいかなぁと。
Cygwinを入れている理由が、「Windows/Linuxそれぞれのネイティブモジュールを同じテストツールで同じようにテストしたい」であり
Windows環境でLinuxと同じコマンドなどを用いてテストができないものかと思いCygwinを入れています。
WSL2環境はあくまでLinuxのネイティブモジュールとして動作するので、Cygwinの変わりにはならないのかな?と
詳しく方法を調べてみたわけではないので、もうちょっと調査してみます。
まずはテストツールや手法を見直したほうが良いかも。
変更してみた感想サマリ
- Windows Terminalはこれからのデファクトとして使っていけそう。
- WSL2は起動速度、動作の安定性からも申し分なく使える。VS CODEとの連携も簡単。
- Cygwinの置き換え可否は不明。継続調査。
最後に
Windowsの開発環境がどんどん快適になってきて嬉しい限りです。
ただ、実はもう2年近く仕事で開発業務していないのですよね……