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


187

私たちは常にこの形式のようなコードを書きます:

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

代替テキスト

しかし、私がNotepad ++を使用すると、表示は次のようになります。

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

代替テキスト

Notepad ++を使用して自動インデントするにはどうすればよいですか?

ジョナサンのおかげで設定しましたが、効果がありません。スナップショットは以下のとおりです。

代替テキスト

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

回答:


135

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


1
ご使用のバージョンにDLLがない場合は、ZIP 5.9.0バージョンから入手できます。以降のバージョンの一部には、このDLLが含まれていませんでした。notepad-plus-plus.org/download/v5.9.0.html
Fostah

2
JavaScriptコードをフォーマットする方法を探しているときに、私は実際にこれを見つけました。結局のところ、これは.jsファイルでも機能します!
sacredfaith

7
@Fostah:> Plugins> Plugin Manager> Show Plugin Manager
Adrien Be

@scronide、これのショートカットキーはありますか?
Pacerier

名前にも関わらず、インデントを修正しようとしていたJavaScriptコードを完全に正しくインデントし直したことに注意してください。名前かなり具体的であるため、言及しないでおくと、私はそれを期待しないでしょう Dunnoがそのライブラリの作成者がC ++を特別に優先する必要があると感じた理由...:D
neminem

99

TextFXメニューが存在しない場合は、プラグインをダウンロードしてインストールする必要があります。プラグイン->プラグインマネージャ - >プラグインマネージャ表示し、プラグインTextFX Charactersを確認します。[インストール]をクリックし、Notepad ++を再起動します。

Notepad ++ v6.1.3バージョンで、私は次のように解決します:プラグインマネージャー->プラグインマネージャーを表示**し、プラグイン「インデントバイフォールド」を確認します


2
折り込みによるインデントは素晴らしいです。任意のフォーマット(XML、C / ++ /#など)で機能することは素晴らしいことです。唯一の問題は、「元に戻す」スタックです。使用する場合、インデントする前のポイントまで元に戻したい場合は、1つのコマンドとしてスタックに追加されないため、すべての行のインデントを元に戻す必要があります。基本的に、長いファイルを扱うときは注意してください。
Dan Lugg、2013年

こんにちは@Dan元に戻す問題は新しいバージョンのインデントでフォールドによって修正されたようです...
538ROMEO

1
はい、存在せず、プラグインマネージャーもありません。
Beyondo

31

少なくともXMLの自動フォーマットのオプションがあるようです。にありますTextFX -> TextFX HTML Tidy -> Tidy: reindent XML


2
これにはTextFxプラグインが必要です
arviman 2016年

29

テキスト編集プログラムのほとんどの開発者は、この名前を誤用します(自動インデント)。正しい名前は「インデントを維持する」です。自動インデントは実際に必要なものですが、実装されていません。

この機能をNotepad ++でも見たいです。


22

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

  • 設定(メニュー)
  • 環境設定...
  • MISC(タブ)
  • 左下のチェックボックスリスト
  • 自動インデント」はこのグループの2番目のオプションです

[ 編集 ]とはいえ、自動インデントが最適に実装されているとは思いません。したがって、バージョン5.1であることを確認してください。最近、自動インデントがオーバーホールされ、インデントが自動修正されます。


あなたは第二のためにブロックを逃していることに注意してもいますif

void main(){
  if(){
    if() { }  # here
  }
}

8
Notepad ++のこの自動インデント設定は、ブロックの最初のインデントを手動で行うことを前提としています。コードが自動フォーマットされません。
scronide、2009年

私は今あなたの意味を得ました、私の貧しいEngを許してください...私の母国語は中国語です...
Turion

14

「折り畳みインデント」プラグインを使用できます。プラグインマネージャーからインストールしてください。それは私にとってはうまくいきます。


2
フォールドによるインデントはすばらしいですが、フォールドによってインデントするだけです;)リストの初期化をインデントした状況では、言語が初期化子を区切るために折りたたみ文字を使用しない限り、インデントは解除されます。例では、使用してPHPでマルチラインアレイ初期化されarray( ... )()非折り畳みです。
Dan Lugg、2013年

5

6.6.8バージョンでは、Plugins> Plugin Manager> Show Plugin ManagerからNppAutoIndentプラグインをインストールしました。次に、[プラグイン]> [NppAutoIndent]で[スマートインデント]オプションを選択しました。お役に立てれば。


4

少し更新:TextFXプラグインをスキップして、Tidy2を使用することができます。ここでは、さまざまなタイプのコードに対して独自のフォーマット規則を構成できます。内部での取り付けと取り外しが簡単

Notepad ++> Plugins> Plugin Manager> Show Plugin Manager

Tidy2を検索してインストールします。できました。


もう少し説明してもらえますか?
Dieter Meemken

構成の詳細については、こちらをご覧ください:stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Sven Ya

他のプラグインと比較してこれを使用することは非常に困難です
Gaurav khurana '14

4

後でメモ帳++ v6.8.1を使用して、人のために、自動インデントの設定は、現在のメニューの中に配置された設定設定MISC。自動インデント

ここに画像の説明を入力してください


3

Notepad ++用のUniversalIndentGUIプラグインを試してください。一部のパラメータに基づいてコードをインデントします。それは私にはうまくいきました。


3
リンクは直接ダウンロードされることに注意してください。ウェブサイトはuniversalindent.sourceforge.netです。また、これは、元のテキストを自動的に正しくフォーマットするのではなく、再構成ツールを構成するためのGUIのようです。
Martin Bonnerがモニカをサポートする2013年

2

これはばかげているように見えるかもしれませんが、元の質問では、Turionはプレーンテキストファイルを編集していました。言語メニューから正しい言語を選択していることを確認してください


2
Menu TextFX → TextFX Edit → Reindent C++ code

ここに画像の説明を入力してください

ただし、Notepad ++には、この「Text FX Character」プラグインは付属していません。経由でインストールする必要があります

Plugins → Plugin Manager → Show Plugin Manager.

インデントのショートカットを追加します。

[ 設定][ ショートカットマッパー]をクリックして、お好みのショートカットキーを設定します。Ctrl+ を優先し=ます。

ここに画像の説明を入力してください


1

Tidy2プラグインをインストールします。Notepad ++ v6.2.2を使用していますが、Tidy2はこれまでのところ問題なく動作します。


1

最初にこのリンクをプラグインマネージャーをダウンロードしてから、zipフォルダーを解凍し、これをプログラム/ notepad ++フォルダー内にコピーします。その後、メモ帳++を再起動します。すると、プラグインメニュー内にプラグインマネージャが表示されます。次に、プラグインマネージャをクリックし、[プラグインマネージャを表示]をクリックします。すべてのプラグインリストが表示されます。下のリストからXMLツールを見つけ、チェックしてインストールします。その後、メモ帳++を再起動します。ドキュメントを開いた後、plugins / xml tools / pretty plain(indent text)をお楽しみください。


0

バージョン7.8.5を使用している場合、自動インデント設定は「設定」->「設定...」->「オートコンプリート」にあります。

ここに画像の説明を入力してください


0

以前にファイルを保存しようとすると、インデントされます。


コメントかもしれません!
Farbod Ahmadian

これについてもう少し詳しく説明できますか?
トト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.