mac book pro 初期セットアップ（個人めも)

# mac book pro 初期セットアップ（個人めも）

## この記事について

### ユーザー

* 私

### 目的

* mac の初期セットアップを忘れないためのメモ

### 要約

* OSアップデートしてからXcode
* .bashrcと.bash_profileは手動で追加
* 開発環境の出発点にanyenv、vs ide、jetbrains toolbox
* テキストエディタは暫定的にvscode

### 開発環境セットアップ個別リンク

* [mac book pro java開発環境(openjdk) setup with homebrew+jenv+idea](https://qiita.com/syamagami666/items/cfab51306c8052c00e03)

## 手順

### OSアップデート

* Xcodeの前提なので最新へ
* Xcodeの感覚がつかめたら、最新版アップデートはセキュリティ案件以外は人柱待ちしたいのが正直なところ

### Xcode

* App Storeで追加
* アプリ開発環境として必要
* gitなんかもまとめて入る

### マウスの設定

* サブボタンを設定
  * デフォルトではサブメニューが出せないので使いづらい
* スクロールの設定
  * デフォルトではシューティングゲーム感覚。~~なめてる~~

### Guestログイン禁止

* 個人PCなのでGuestなど不要。

1. 設定 > ユーザーとグループ　> 左下の錠前アイコンをクリックしてアンロック
2. ゲストユーザをクリックして「ゲストにこのコンピュータへのログインを許可する」のチェックを外す。
　　　　![Guestログイン禁止](https://qiita-image-store.s3.amazonaws.com/0/166036/d7fd4c7a-3ea1-f28a-884a-1b451e162888.png)

### [homebrew](https://brew.sh/index_ja "homebrew")

* homebrewはアプリケーション等のインストール・アップデート他を楽にしてくれるUbuntuのapt、CentOSのyumみたいなもの。

* めっちゃ使われてるのでApple公式なのかと思いきや、WindowsのChocolatyと同じ有志によるツールだったとは驚き。

* パッケージインストールなんて出来るだけしたくないし管理したくないのでぜひ使おう。そうしよう。

1. install

    ```bash
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    # 最後にコンソール上にprofileへパスを通すコマンドがでているので、コピペして実行する。
    ```

2. homebrew-bundle,homebrew-caskについて

    * caskはモリモリ使うが、bundleの方はちょっと使うかどうか未定。もう一度セットアップする機会とかあれば考える。

> [linuxbrew](http://linuxbrew.sh/)というforkしたツールもあるようなので今度linuxで使ってみてもいいかもしれない。まぁubuntuだといらないか。
> [chocolatey](https://chocolatey.org/)ちゃんにも頑張っていただきたい。

### google chrome

1. install

    ```bash
    brew cask install google-chrome
    ```

2. FinderからDockに追加する。
    * Finder > application からD&D

### google日本語入力

* Googleに情報を売ってでも使いやすいIMEがほしい。

1. install

    ```bash
    brew cask install google-japanese-ime
    ```

### [anyenv](https://github.com/riywo/anyenv)

* このツールのためにLinuxやMacを使ってるといっても過言ではない。

* このツールは**env（rbenvやpyenv等）のenv。

* **envは特にRubyやPython、Node.js等のインタープリタ系で強い。

* これだけで別なバージョンのインストールができるのですごく楽ちん。

* ~~開発環境では、使わない理由はほぼない。~~
    * Docker使ってたら使わないけれど、あってもいいくらいにランクダウン。

1. install

    ```bash
    brew install anyenv
    
    # shellの確認 
    echo $SHELL
    # bashの場合 
    echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.profile
    echo 'eval "$(anyenv init -)"' >> ~/.profile
    # zshの場合
    echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zprofile
    echo 'eval "$(anyenv init -)"' >> ~/.zprofile
        
    exec $SHELL -l
    anyenv install --init
    ```
2.  plugin install
    ```bash
    mkdir -p $(anyenv root)/plugins
    git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
    git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git
    ```

### [Jetbrains Toolbox App](https://www.jetbrains.com/toolbox/app/?fromMenu)

* 巷で有名なIDEの公式管理アプリ。Ruby on Rails開発では、こいつの使用箇所の検索やら、定義への移動があるだけで作業効率が上がると思ってる。

* 入力補完やらなにやらVScodeだったりにもあるし、無料だしと思う面がないとは言わないが、フレームワークのサポートだけでもかなり読み書きの生産性に寄与していると感じる。

* Eclipseのプラグインの更新ストップとかで辛酸をなめたので安心料という面もあるかもしれないが、月3000円程度なので妥当か。
  * 次なにかに乗り換えるとしたらCloud9とかのWEB-IDEだろう。

> 基本有料版のツールだが、Java用のIDEAとPython用Pycharmは無料・商用利用可能のCommunity版がある。Ultimateのフレームワーク対応機能などが魅力と感じているので積極的にすすめるほどでないが初学者のセットアップを簡略化するには向いているかもしれない。

```bash
brew cask install jetbrains-toolbox
```

### [Visual Studio IDE community edition](https://visualstudio.microsoft.com/ja/vs/)

* Resharperが使えないのでC#コンパイラとWindowsFormのデザイナ目当て。
  * Riderと併用していく。

1. install

    ```bash
    brew cask install visual-studio
    ```

2. Resharper++ ultimate

* ~~Jetbrains Toolbox Appからインストールする。~~
  * 当たり前のようにmac版VSでは利用できなかった。なんてこったい。悲しい。

### [Visual Studio Code](https://code.visualstudio.com/)

* ~~WindowsではEmeditorを使っていたが、Macでは何がいいのかさっぱりわからないし、同僚が使っているVSCodeを仮採用。~~
    * vscodeでいいっしょ。
    * CSV/TSVについては依然として課題

1. install

    ```bash
    brew cask install visual-studio-code
    ```

2. extension
   (訂正線は使わなくなった)
    1. ~~Auto-Open Markdown Preview~~
        * ファイル開いたときにプレビュー自動オープンは便利。
    2. ~~Markdown All in One~~
        * 入力補間（特にリストのタブキーインデント）がいい感じ
    3. ~~markdownlint~~
        * 書きなれるまでmarkdownの仕様を指摘してもらうために利用。
        * 融通が利かないが、それがlintってことなのかな？
    4. ~~Paste Image~~
        * macでスクリーンショットを取るときはControlも一緒に押せばクリップボードに取得できる
        * よく使うのは範囲取得のcommand+Shift+Control+4
    5. VSCode Qiita
        * Qiita投稿をVSCodeから行える＆更新できるので採用。
    6. markdown preview enhanced
        * markdown、PlantUML用 
    7. Gistpad
        * メモ書きをGistやGithubのリポジトリで 
    8. Gitlens
        * blame表示とかcommit履歴とか便利 
    9. Tabnine Autocomplete
        * 入力補完をお試し中 
    10. Remote Development
        * 神いわゆるGOD 
    11. Marp for VS Code 
        * markdownでスライド作成用 
    12. 他開発用言語に合わせて。


### キーボードショートカット

1. Ctrl+Space (^ )
    * デフォルトは入力ソースの切り替えにチェックが入っているので外す。英数キーとかなキーで切り替えるのでいらない。
    * IDEの入力補完（CodeCompletion)と干渉するため変更する。