Notepad++での自動インデント

私たちはいつもこのような形式のコードを書いています。

void main(){
  if(){
    if()
    }

の場合

しかし、Notepad++を使うと、表示が

void main(){
if(){
if()
}

となります。

Notepad++で自動インデントを行うにはどうすればいいですか?

Jonathan](https://stackoverflow.com/a/412449/325514)のおかげで設定しましたが、効果はありません。スナップショットは以下の通りです

.

私はNotepad++のバージョン5.1.3を使用しています。

Notepad++は、ブロック内の最初の行を手動でインデントした場合にのみ、後続のインデントを自動的に挿入します。それ以外の場合は、TextFX > TextFX Edit > Reindent C++ codeを使って、後からコードを再インデントすることができます。

解説 (6)

テキスト編集ソフトの開発者の多くは、この名称(オートインデント)を誤用しています。正しい名称は "maintain indentation"です。Auto-indentは実際に欲しいものですが、実装されていません。

私もこの機能をNotepad++に搭載してほしいと思っています。

解説 (0)

最新のバージョンでは(少なくとも)、以下の方法で見つけることができます。

  • 設定 (メニュー)
  • Preferences...
  • MISC (タブ)
  • 左下のチェックボックスリスト
  • "Auto-indent" は、このグループの2番目のオプションです。

[EDIT] ただし、Auto-indentの実装はあまりよくないと思います。そこで、バージョン5.1であることを確認してください -- auto-indentは最近オーバーホールされ、インデントを自動修正してくれます。


また、2つ目の if のブロックがないことにも注意してください。

void main(){
  if(){
    if() { }  # here
  }
}
解説 (2)