環境構築/Atomパッケージメモ


自分が試しているパッケージのメモ`.bashrc`とかでPATHを通しておく。

```sh
➜  ~  sw_vers
ProductName:	Mac OS X
ProductVersion:	10.11.2
BuildVersion:	15C50
```

## 全般

pacakge name | description 
------------ | ------------ 
[atom-ide-base](https://atom.io/packages/atom-ide-base) | atom-ide-uiの後継版詰め合わせ。`cmd+click`で定義にジャンプ etc.
 [Sublime-Style-Column-Selection](https://atom.io/packages/Sublime-Style-Column-Selection) | Option押しながら範囲指定で矩型選択できる。 
[autocomplete-plus](https://atom.io/packages/autocomplete-plus) | 補完。手動で出す場合は`ctrl+space`。`Tab`で入力。
[autocomplete-paths](https://atom.io/packages/autocomplete-paths) | pathのsuggestion
[atom-beautify](https://atom.io/packages/atom-beautify) | `ctrl+alt+b`で綺麗になる
[atom-runner](https://atom.io/packages/atom-runner) | `ctrl+r`でスクリプト実行.選択中のテキストだけ実行もできる。`ctrl+shift+c`でkill.右側にActive-Windowで表示される。
[script](https://atom.io/packages/script) | `cmd-i`でスクリプト実行
[file-icons](https://atom.io/packages/file-icons) | ファイルアイコンがいい感じになる
[Highlight Selected](https://atom.io/packages/highlight-selected) | ダブルクリックすると選択した要素と同じものが四角で囲まれて表示される.
[minimap](https://atom.io/packages/minimap) | 右にminimapが出る。
[minimap-autohide](https://atom.io/packages/minimap-autohide) | minimapが隠れるようになって、スクロールした時に出るようになる。
[regex-railroad-diagram](https://atom.io/packages/regex-railroad-diagram) | 下に遷移図を表示して、正規表現をグラフィカルに確認できる。
[platformio-ide-terminal](https://atom.io/packages/platformio-ide-terminal) | terminalを開ける。`ctrl + ``

## HTML, CSS, JavaScript
pacakge name | description |
------------ | ------------ 
[ide-html](https://atom.io/packages/ide-html) | atom-ide for html.
[ide-css](https://atom.io/packages/ide-css) | atom-ide for css.
[ide-typescript](https://atom.io/packages/ide-typescript) | atom-ide for typescript.javascript用としても使える。
[ide-json](https://atom.io/packages/ide-json) | atom-ide for json.
[atom html preview](https://atom.io/packages/atom-html-preview) | `ctrl+shift+h`でhtmlのプレビュー。
[color-picker](https://atom.io/packages/color-picker) | `cmd+shift+c`でカラーピッカーが表示されてクリックで入力。CSSとかに限らず便利に使える。
[atom-js-console](https://atom.io/packages/atom-js-console) | `ctrl+j`,`ctrl+s`でjavascript consoleを開く。
[pigments](https://atom.io/packages/pigments) | `rgb(181, 137, 0)`とか書いてあるところに色がついてわかりやすくなる。
[jshint](https://atom.io/packages/jshint) | リアルタイムにjavascriptの警告 jshintが表示される。`npm install -g install jshint`とかでjshint入れとく必要あり?
[preview](https://atom.io/packages/preview) | CoffeeScriptやTypeScriptなどの翻訳(JavaScript)を右側に並べて表示する。この他に色々な言語も対応している。
[Open in Browser](https://atom.io/packages/open-in-browser) | 右クリックメニューにOpen in Browserが追加される。

## Python

### numpy, scipy etc.インストール

```sh
brew install pyenv #バージョンマネージャインストール
brew install pyenv-pip-rehash #自動rehash
pyenv install -l #インストール可能なバージョン表示
pyenv install x.x.x #バージョンx.x.xインストール
pyenv shell x.x.x #デフォバージョン変更
curl -kL https://bootstrap.pypa.io/get-pip.py | python #pyathonのパッケージマネージャインストール

pip install --upgrade setuptools
pip install --upgrade pip
easy_install cython
brew install swig
brew install freetype

pip install numpy #gfortranが必要(gccをいれてたらいらないはず)
pip install scipy
pip install matplotlib #グラフ描画
pip install seaborn #グラフ描画
pip install ipython #強化版対話型スクリプタ
pip install pandas #データフレームアクセスとか
pip install scikit-learn #機械学習系
```
```sh:.bashrc
eval "$(pyenv init -)"
```
`import pylab`とかでエラーがでるときは`matplotlibrc`の`backend`を変更すると良いかもしれない。
```sh:~./matplotlib/matplotlibrc
backend      : TkAgg
```

### PythonのAtomパッケージ

pacakge name | description |
------------ | ------------ 
[autocomplete-python](https://atom.io/packages/autocomplete-python) | 補間
[python-tools](https://atom.io/packages/python-tools) | pythonのide的なやつ。autocomplet-pythonで補間。選択してctrl+alt+g+clickで宣言元へジャンプしたりできる。

## Swift

Xcodeメインなのであまり使わない。

pacakge name | description |
------------ | ------------ 
[language-swift](https://atom.io/packages/language-swift) | シンタックスハイライト

## C\# 

**[omnisharp-atom](https://github.com/OmniSharp/omnisharp-atom)を使いたかったのですが、使いものにならないぐらいAtomが重くなってしまい、試せていません。** *相性の悪いパッケージが入ってたのだろうか?*  

結局試せてないのですが、前準備だけメモっておきます。

### Mono

実行環境[Mono](http://www.mono-project.com/download/#download-mac) を入れておく。

```sh
#インストール, バージョンの確認
brew install mono
mono --version
Mono JIT compiler version 4.2.1 (Stable 4.2.1.102/6dd2d0d 2015年 12月23日 水曜日 19時34分22秒 JST)
#コンパイル, 実行
mcs hoge.cs
mono hoge.exe
```

### dnvm(.NET Version Manager)

`omnisharp-atom`を使うにはdnvmも必要？
[このページ](http://nkmk.github.io/blog/mac-atom-omnisharp/)に従ってインストールしました。

aspnet/dnx(.NET execution environment)をtapして`brew install`

```sh
brew tap aspnet/dnx
brew install dnvm
```

.bash_profileとかで`source dnvm.sh`しておく。

```sh:.bash_profile
source dnvm.sh
```

```sh
dnvm upgrade
dnvm list #確認
```
### C\#のAtomパッケージ

pacakge name | description |
------------ | ------------ 
[omnisharp-atom](https://github.com/OmniSharp/omnisharp-atom) | OmniSharpと連携してIntellisenseが使えるはず(プロジェクトが認識されていないと機能しない?)。 **インストールに結構時間がかかりました。** 

## Ruby

pacakge name | description |
------------ | ------------ 
[autocomplete-ruby](https://atom.io/packages/autocomplete-ruby) | ちょっとした補完
[linter-ruby](https://atom.io/packages/linter-ruby) | Rubyのlinter. 編集中にwarningとか出してくれる

## GO

### GOのインストール

```sh
➜  ~  brew install go
➜  ~  go version  
go version go1.5.2 darwin/amd64
➜  ~  go run hoge.go #実行
```
brewinstallしたら環境変数設定と言われる。自分の場合⇩な感じ

```sh:.bashrc
export GOROOT=$BREW_ROOT/opt/go/libexec/
export GOPATH=$HOME/.go
export PATH=$PATH:$GOPATH/bin
```
<http://qiita.com/MakoTano/items/3d807a96c3933ac8aa13>を参考にして関連ツールをダウンロードする。

```sh
➜  ~  go get -v golang.org/x/tools/cmd/goimports #gofmtの拡張コマンド
➜  ~  go get -v github.com/golang/lint/golint #linter
➜  ~  go get -v github.com/nsf/gocode #補完
➜  ~  go get -v github.com/rogpeppe/godef #定義元ジャンプ
➜  ~  go get -v github.com/redefiance/go-find-references #参照コードのリスト化
```

### GOのAtomパッケージ

pacakge name | description
--- | ----
 [go-plus](https://atom.io/packages/go-plus) | `gocode`, `gofmt`, `goimports`, `go vet`, `golint`, `go build` and `go test`の機能を使えるようにする。

## Java Family

### SDKMANのインストール

以前は、gvmでGroovyなどのインストール管理を行っていたが、
SDKMANで、JVMファミリーなプロダクトを簡単にインストール、管理できるようになった。

```sh
curl -s api.sdkman.io | bash
➜  ~  sdk help #help
➜  ~  sdk list groovy #利用可能なバージョン確認
➜  ~  sdk install groovy 2.4.5 #インストール
➜  ~  sdk use groovy x.x.x #バージョン切り替え
```

- [参考](http://qiita.com/saba1024/items/967ee3d8a79440a97336)

### Scala, GroovyのAtomパッケージ

package | description
--- | ---
[language-scala](https://atom.io/packages/language-scala) | Scalaのシンタックスハイライト
[language-groovy](https://atom.io/packages/language-groovy) | Groovyのシンタックスハイライト

## R

### R/Rstudioのインストール

```sh
➜  ~  brew tap homebrew/science
➜  ~  brew install r
➜  ~  sudo brew cask install rstudio
➜  ~  Rscript hoge.R #Rスクリプト実行
```
```sh:.bashrc
export RSTUDIO_WHICH_R=$(which R)
alias rstudio='open ${HOME}/Applications/RStudio.app'
```
### RのAtomパッケージ

RStudio入れたけど、今の所atomだけで事足りてる。

package | description
--- | ---
[language-r](https://atom.io/packages/language-r) | シンタックスハイライト

## Haskell

### Haskell Platform等のインストール 

[https://www.haskell.org/platform/](Haskell Platform)をインストール

``cabal install``で`gch-mod`等をインストールする。

```sh
cabal install cabal-install #update
cabal install ghc-mod hlint stylish-haskell
```

が**うまくインストールできなかったので、[このページ](http://qiita.com/Asakage/items/5aebc4a53244d5adc335)を参考に色々やりました。**

ghc-modが見つからなかったのでPATHを通した。
```.bashrc:sh
export HASKELL=$HOME/Library/Haskell/bin
```

*以前インストールしていたものが残っててごちゃごちゃになってるので、クリーンインストールし直した方が良さそう*

### HaskellのAtomパッケージ

package | description
--- | ---
[linter-hlint](https://atom.io/packages/linter-hlint) | Haskellのlinter
[https://atom.io/packages/language-haskell](language-haskell) | Haskellのシンタックスハイライト
[https://atom.io/packages/autocomplete-haskell](autocomplete-haskell) | 自動補間
[haskell-ghc-mod](https://atom.io/packages/haskell-ghc-mod) | 入力補間. ide-haskellで使われる。
[ide-haskell](https://atom.io/packages/ide-haskell) | Haskell Project用のIDE. ghc-mod等で補間や型を表示したりできる. `[Haskell IDE][Prettify]`でstylish-haskellによるbeautifyができる。**かなり便利**