NetBeansの使い方・設定（備忘録）

※利用バージョンは、NetBeans v8.0.2(windows 64bit版) です。

# 使い方

## ウィンドウの表示
- `ウィンドウ(W) > プロジェクト(J)` → Ctrl + 1
- `ウィンドウ(W) > ナビゲータ(N)` → Ctrl + 7
- `チーム(M) > リポジトリ(Y) > リポジトリ・ブラウザ(Y)`

## よく使う機能

- 開いているファイルを、プロジェクトビューで選択する  
　→ファイル名のタブを右クリックして「プロジェクト内で選択」
- 開いているファイルのフルパスをコピーする方法  
　→ファイル名のタブを右クリックして「ファイル・パスのコピー」

## よく使うキーボードショートカット
`ツール(T) > オプション(O) > キーマップ(K)`

| 内容                   | デフォルトマップ   | カスタマイズ |
|------------------------|--------------------|--------------|
| tggle-comment          | Ctrl+Shift+C       | Ctrl+SLASH   |
| 行を下に複製           | Ctrl+Shift+KP_DOWN |              |
| 行を削除               | Ctrl+E             |              |
| ブックマークを切り替え | Ctrl+Shift+M       |              |
| ウィンドウを閉じる(I)  | Ctrl+F4            | Ctrl+W       |


# 初期設定

## 設定

### `ツール(T) > オプション(O) > フォントと色(F) > 強調表示(L)`  
- 末尾（行末）の空白のハイライト  
　→「末尾の空白」→背景(B):ピンク

###  `ツール(T) > オプション(O) > エディタ(E) > 保存時`  
- 末尾の空白を自動で削除  
　→「次から末尾の空白を削除」→すべての行

###  `ツール(T) > オプション(O) > 外観 > ドキュメント・タブ`  
- エディタのタブを複数行表示  
　→「複数行タブ(M)」にチェック  
- タブに親フォルダ名も表示  
　→「タブ・タイトルに親フォルダ名を表示」にチェック  
- フルパスの表示  
　→「フル・ファイル・パスの表示」にチェック  

###  `ツール(T) > オプション(O) > エディタ(E) > ヒント`
- コードヒントの変更  
「行が多すぎます > 関数(メソッドの宣言)」  → 50  
「関数内の入れ子のブロック」→ 4  

## netbeans.conf 書き換え

### 文字コードの設定
ファイルを編集したい時に、ドラッグ＆ドロップでファイルを開くと文字化けする対策。
インストールフォルダの `/etc/netbeans.conf `
netbeans_default_options 行の最後に `-J-Dfile.encoding=UTF-8` を追記。

### ヒープ設定
| 項目名               | デフォルト値 | 有効値    | 説明                    |
|---------------------|------------|-----------|-------------------------|
|`-J-Xss16m`          | 2MB        | ？(未検証) | スタックサイズ            |
|`-J-Xms1024m`        | 32MB       | 1～Xmx値  | 初期ヒープサイズ。 起動時間が短くなる？ Xmxの値を超える値は指定できない |
|`-J-Xmx`             | 自動計算    | 無効      | 最大ヒープサイズ。指定しない場合自動計算で求められる |
|`-J-XX:PermSize=32m` | 32MB       | ？(未検証) | ？ |
|`-J-XX:MaxPermSize=384m` | 32MB       | ？(未検証) | ？ |


最大ヒープサイズに実際に割り当てられた値はログで確認できる。
`ユーザーディレクトリ\AppData\Roaming\NetBeans\8.0.2\var\log\messages.log`
`Java "-Xmx"`とかで検索

### 実際の設定ファイル

```
# If you specify the heap size explicitly, you may also want to enable
# Concurrent Mark & Sweep garbage collector.
# (see http://wiki.netbeans.org/FaqGCPauses)
#
# netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
netbeans_default_options="-J-client -J-Xss32m -J-Xms512m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true  -J-Dfile.encoding=UTF-8"
```
> http://wiki.netbeans.org/FaqPHPDebugEncodingJa

### 改行コードの設定（未解決）
Gitで競合発生したさいに、「マージ競合リゾルバ」を使うと変更ファイルの改行コードが全てCRLFになる。(windows版)

このオプションで直るかと思ったけど、これつけて起動したらNetBeansの挙動がおかしくなり
作業中のプロジェクト情報(開いていたタブ・ウィンドウ、開いていたプロジェクトなど)が消えた。
`-J-Dline.separator=LF`

<i class="fa fa-exclamation-triangle"></i>**解決方法知っている人いたら教えて下さい。**<i class="fa fa-exclamation-triangle"></i>

## プラグイン　`ツール(T) > プラグイン(G)`

- 「Change Line Endings on Save」v 0.5.1  
> ファイルを保存時にオプションで指定した改行コードで保存する。
【設定】`ツール(T) > オプション(O) > エディタ(E) > Line Endings`

- 「Show and change line endings」v 1.3
> ファイルの改行コードを表示してくれるプラグイン。変更も出来る。

- 「Show path in titlebar」v 2.0.1
> タイトルバーにプロジェクトルートからのパスを表示。
【設定】`ツール(T) > オプション(O) > エディタ(E) > Show path in titlebar`

- 「Explore from here」v 0.4.7
> プロジェクトのディレクトリツリーを右クリックしてエクスプローラを開く

- 「Markdown Support」v 2.2
> マークダウン書式のプレビュー表示が可能になる
 【設定】`ツール(T) > オプション(O) > その他(M) > Markdown`
 `HTML Export`のスタイル部に追加

```css
html {
    font-family: 'メイリオ', sans-serif;
}
code {
    font-family: 'ＭＳ ゴシック'
    word-wrap: normal;
    background-color: #f7f7f7;
    border-radius: 3px;
    padding: 0.5em;
    min-width: 75%;
    display: inline-block;
    white-space: pre;
}
li {
    margin-bottom: 1em;
}
```

# 外部リンク
controller、model、views ディレクトリをメインツリーに並べる。
http://worktoolsmith.com/2012/12/netbeans-fuelphp-plugin-2/