VScode・WSL・Git導入

# POSTSCRIPT
WSL上のソフトウェアを使ってビルドなりコードチェックするなりする人は
VSCodeのExtentionである`Remote WSL` (または`Remote Development`というExtension Pack) 
を利用すれば，VSCode (remote-wsl) のGitもWSLのものを使うことになっている~~気がする~~ので，
本記事で紹介する工夫（wslgit.exeの導入）がいらないかもしれない．
参考：https://qiita.com/nj_ryoo0/items/a42c47436b77310f5430

`Remote WSL`は

- Linux版VSCodeをWSLで起動
- Win版VSCodeを単なるインターフェースとして使う

というイメージ．
（WSLでVSCサーバを立ち上げてWinVSCodeがクライアントとなってやり取りする）

またRemote WSLとか使うなら，X何某サーバ入れとくとGUIも作れる．
参考：[お前らのWSLはそれじゃダメだ]
Windows Terminalもおすすめ

ただし，普通にWindows側の環境を使用して開発する場合依然下記は有用．
またPlatformIOとかのVSCode Extentionの中に`Remote WSL`に対応してないっぽいものが存在していたりするので，
そういうのを見つけたらIssueを立てたりしよう

---
---

# ABSTRACT
VSCode，WSL，Gitの導入についてほかの方の記事をまとめてかつ自分が追加でやったことがあればそれも一応追記していく．
他に見つけた似たコンセプトの記事：

- [Windows10でWSLとVSCodeを使ってC++プログラミング環境を整える]
- [Visual Studio CodeでWSLのgitを利用してソース管理を行う]
- [Visual Studio Code の統合ターミナルと Git を Windows Subsystem for Linux のものに指定する]

# BACKGROUND
PCが不調でDiskpartでﾁｮﾒﾁｮﾒしてたら間違ってディスクごと吹っ飛ばしたので新規一転Windows10をクリーンインストール．
この機に何となく触ってみたいなあ程度に思っていたものを触っていく．

# INSTRATIONs

##VSCode

VSCodeは普通にWin10向けのをダウンロード


##WSL

Win Storeからインストール．Ubuntu18.xにした．
「プログラムと機能」からWSLを使えるようにいじる箇所があるので注意
参考：[Windows 10でLinuxプログラムを利用可能にするWSLをインストールする（バージョン1803以降対応版）]

シェルはデフォはBash．
大学でSolaris使ってた時はtcsh使ってたからtcshを入れようかと思ったけど普通にUbuntuでBashにも慣れてたからBashのまま

X何某システム入れるといろいろ気持ちよくなれるらしい．
参考：[お前らのWSLはそれじゃダメだ]
Windows Shellがインストールできる人についてはそれを使えばいいと思う．

X何某システムを入れればGUIを起動できるけど，ぼちぼちWSL2でその辺勝手にやってくれそう感はある．
https://www.atmarkit.co.jp/ait/articles/2010/02/news093.html

`$HOME`上に`.bash_profile`がなかったので

```
> cp .profile .bash_profile
```
としてから**`vim`**で`.bash_profile`をいじって環境変数なりを設定した．
Windowsのディレクトリは`/mnt/c`とか`/mnt/d`とかでそれぞれCドライブやDドライブにアクセスできるので，
これ以下に作業ディレクトリを作ってVSCode(WIN app)で触れるようにしたい．
bashrcとかとの違いは他記事参照: ~~気が向いたらリンクを追記する．~~
https://blog1.mammb.com/entry/2019/12/01/090000
https://qiita.com/magicant/items/d3bb7ea1192e63fba850
https://techracho.bpsinc.jp/hachi8833/2019_06_06/66396
https://qiita.com/incep/items/7e5760de0c2c748296aa


##Git

WSL(Ubuntu)のbashから
参考：[Microsoftストアの Ubuntu 18.04 に Git環境を構築する(旧題：Bash on Ubuntu on Windows にGit環境を構築する)]

Gitはインストール後，最初に初期設定

```
> git config --global user.name <ユーザー名>
> git config --global user.email <メールアドレス>
```

gitの超簡単な使い方：[git - 簡単ガイド   猫でもわかるGit 最初の一歩]
Git初めて使う人はインストールしたなら上の記事みたいにとりあえずやってみればいいと思う．
これやってから他の便利なオプションとかも覚えればいいと思う．



# SETTINGs

WindowsのVSCodeの機能としてWSLのGitをたたくには.exeとしてWindowsから参照できる実行ファイルが欲しいらしい．
VSCodeのコンソールにWSLのシェル各位を割り当ててそこからGitをたたく分には何の工夫もいらないはずだが，GUIとかショートカットとかでポチッと一発でカマスとか，VSCodeのSetting.jsonとかどこにあるかよくわかんないやつとかもVSCodeの機能でGitの対象にできるので次の工夫をしておいたほうがいいっぽい？
特に試行錯誤しておらず他の人のを参考にしているまでなので，確かなことはよくわかっておらず，推測の部分が多分に含まれていることは否めません．


##WSLGIT

このwslgitというのがexeとしてVSCodeに見てもらえることができて，かつWSL内のgitをたたいてくれる媒介コマンドになるものという認識です．(なのでたぶんWSLでgitをインストールしておかないとたぶんだめ．てかそうじゃないと頭のWSLってなによって感じ)
追記：後なんかWinのディレクトリパスをLinuxのディレクトリパス形式にしてくれたりとかもしてくれてるみたいなので，自分でバッチ組んでて何気にぶち当たる面倒くさいことがいろいろ解決してくれてるっぽい．結構ISSUEにも積極的に対応してくれてるみたい．

まず[andy-5/wslgit]こちらからwslgit.exeをダウンロード，いい感じのところに保存する．
いい感じのところとは......

- VSCodeが保存されるようなところ`%LocalAppData\Programs`とか
- C直下......ではなく`c:\opt`ディレクトリをつくるなどしてそこに入れる(参考:[C:\ の直下にはインストールしない方がいいと思う])

などがおススメです．とりあえずC直下に入れるのには私は抵抗あります．セキュリティとかはよくわからないけどC直下のエントロピーは小さくしておきたい．


##VSCode

下記記事を参考にVSCodeからWSLのBashをいつも使うコンソールにする．VSCodeのSettingsについて一般的にも参考になると思う．
Setting.jsonをひらくのは微妙にことなっていて，「三点をクリック」的な旨があると思うけど，
~~2018年12月20日時点で最新のVSCodeでは三点アイコンの左の左の`{}`←こんなボタンでSetting.jsonを開ける．~~
2020年11月23日時点で最新のVSCodeでは`file`->`preference`->`settings`（ここまでは`Ctrl`+`,`でもいける）を開いた状態で
３点`…`アイコンの左の左の紙マーク📄みたいなやつで開ける．
[Windows10でWSLとVSCodeを使ってC++プログラミング環境を整える]

直にbash(`c:/windows/system32/bash.exe`)を開くと最初のワーキングディレクトリが`/mnt/c/windows/system32/`になるから
コンソールとして`%LocalAppData\Microsoft\WindowsApps\ubuntu.exe`を指定すれば`~`にいける．最初にBash開いても`cd ~`で同じことだと思う．
下記記事では`c:/windows/system32/bash.exe`をコンソールとして指定して，オプションで`~`に行くようにしている．
[Visual Studio Code の統合ターミナルと Git を Windows Subsystem for Linux のものに指定する]

この方は`c:/windows/system32/wsl.exe`を指定している．
[VSCode + WSL]

wslのコンソールはbash.exe，ubuntu.exe，wsl.exeから起動できるみたい．
多分ディストリビューションとかべつのシェルをインストールするといろいろ変わってくるんだと思う．
多分一番安全なのは下記記事のように`%LocalAppData\Microsoft\WindowsApps\ubuntu.exe`っていう感じでディストリビューションをしていすること．
そのあと他記事を参照してオプションで好きなシェルを使えばいいと思う．
[Visual Studio CodeでWSLのgitを利用してソース管理を行う]




そんでもって上三つ（直前3つでもこのページ上部3つでも）で紹介した記事に従ってVSCodeのgitのSettingを変えてあげるとよい．





[Windows10でWSLとVSCodeを使ってC++プログラミング環境を整える]:https://qiita.com/yo_kanyukari/items/37421f497b7ffaa75502
[Visual Studio CodeでWSLのgitを利用してソース管理を行う]:https://qiita.com/xeres/items/ed4d659cfac4a1695f4b
[Visual Studio Code の統合ターミナルと Git を Windows Subsystem for Linux のものに指定する]:https://qiita.com/ka-miyata/items/a83e329874b1d71f7af2
[VSCode + WSL]:https://qiita.com/remin/items/b764036e95a13075ee98
[お前らのWSLはそれじゃダメだ]:https://xztaityozx.hatenablog.com/entry/2017/12/01/001544
[Windows 10でLinuxプログラムを利用可能にするWSLをインストールする（バージョン1803以降対応版）]:http://www.atmarkit.co.jp/ait/articles/1608/08/news039.html
[Microsoftストアの Ubuntu 18.04 に Git環境を構築する(旧題：Bash on Ubuntu on Windows にGit環境を構築する)]:https://qiita.com/forest1/items/234026f7a305bf45f01a
[git - 簡単ガイド   猫でもわかるGit 最初の一歩]:http://rogerdudler.github.io/git-guide/index.ja.html
[andy-5/wslgit]:https://github.com/andy-5/wslgit/releases
[C:\ の直下にはインストールしない方がいいと思う]:http://d.hatena.ne.jp/masugata_k/20081020/1224508454