200

We always write code like this formal:

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

Alt text

But when I use Notepad++, the display is:

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

Alt text

How do I use Notepad++ to auto indent?

Thanks to Jonathan, I have set it, but it does not take any effect. The snapshot is below:

Alt text

I am using Notepad++ version 5.1.3.

1
  • the same problem, but only in HDL (for example with Verilog). But with Matlab, auto-indent work well. Commented Jul 8, 2024 at 5:22

17 Answers 17

142

Notepad++ will only auto-insert subsequent indents if you manually indent the first line in a block; otherwise you can re-indent your code after the fact using TextFX > TextFX Edit > Reindent C++ code.

Sign up to request clarification or add additional context in comments.

7 Comments

If your version is missing the DLL you can get it from the ZIP 5.9.0 version. Some of the later versions did not include this DLL. notepad-plus-plus.org/download/v5.9.0.html
I actually found this while looking for a way to format javascript code. Turns out, this works for .js files as well!
@Fostah: you can also install the "Text FX Character" via >Plugins>Plugin Manager>Show Plugin Manager
@scronide, Is there a shortcut key for this?
So how does one get started going TextFX > ? I've checked all the menus, plugins, and help file and I don't see anything that looks like that. I can tell Notepadd++ is powerful, but I barely use it because it's so complicated it's almost a no-starter.
|
109

If the TextFX menu does not exist, you need to download & install the plugin. Plugins->Plugin Manager->Show Plugin Manager and then check the plugin TextFX Characters. Click 'install,' restart Notepad++.

In version Notepad++ v6.1.3, I resolve with: Plugin Manager->Show Plugin Manager** and then check the plugin "Indent By Fold"

4 Comments

Indent by fold is awesome. The fact that it works in arbitrary formatting (XML, C/++/#, etc.) is great. Only problem with it is the "undo" stack. When used, if you wish to undo to a point before when you indented, you have to undo through every line re-indentation, as it doesn't get added to the stack as a single command. Basically, be careful when working with long files.
Hi @Dan the undo problem seem to have been fixed in newer version of indent by fold...
Yes, It doesn't exist and there's no Plugin Manager.
In version 7 and later "Plugin Manager" has been renamed as "Plugins Admin..."
30

There seems to be an option for auto-format of XML at least. It can be found at TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.

1 Comment

you need TextFx plugin for this
29

Most developers of text editing programs misuse this name (auto-indent). The correct name is "maintain indentation". Auto-indent is what you actually want, but it is not implemented.

I would also like to see this feature in Notepad++.

Comments

22

In the latest version (at least), you can find it through:

  • Settings (menu)
  • Preferences...
  • MISC (tab)
  • lower-left checkbox list
  • "Auto-indent" is the 2nd option in this group

[EDIT] Though, I don't think it's had the best implementation of Auto-indent. So, check to make sure you have version 5.1 -- auto-indent got an overhaul recently, so it auto-corrects your indenting.


Do also note that you're missing the block for the 2nd if:

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

2 Comments

Note that this auto-indent setting in Notepad++ assumes you do the first indent in a block manually; it doesn't auto-format the code for you.
I got your meaning just now,please forgive my poor Eng... My mother language is Chinese...
16

You can use 'Indent by fold' plugin. Install it from the plugin manager. It works fine for me.

1 Comment

Indent by fold is great, except that it only indents by fold ;) In situations where you've indented a list initialization, unless the language uses a folding character to delimit the initializer, it'll end up un-indenting. An example is a multi-line array initialization in PHP using array( ... ), where () are non-folding.
7

For those who using version 7.8.5, the Auto-indent settings is now located at "Settings" -> "Preferences..." -> "Auto-Completion".

enter image description here

Comments

5

In the 6.6.8 version I installed the NppAutoIndent plugin from Plugins > Plugin Manager > Show Plugin Manager. Then I selected the Smart Indent option in Plugin > NppAutoIndent. Hope this helps.

Comments

5

For those who use Notepad++ v6.8.1 and later, the auto-indent setting now is placed in menu SettingsPreferencesMISC.Auto Indent.

Enter image description here

Comments

3

Try the UniversalIndentGUI plugin for Notepad++. It re-indents code based on some parameters. It worked well for me.

1 Comment

Note that the link is direct to the download. The website is: universalindent.sourceforge.net. Also, this appears to be a GUI for configuring a reformating tool, rather than automatically formatting the text correctly to start with.
3

A little update: You can skip the TextFX Plugin and just use Tidy2. Here you can configure your own formating-rules for different types of codes. Easy to install and remove within

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

and just search for Tidy2 and install it. Done.

3 Comments

Can you explain a bit more?
More information about configuration can be found here: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
its quite difficult to use this compare to other plugins
3

You can add "Text FX Character" plugin. Download it from https://sourceforge.net/projects/npp-plugins/files/TextFX/ and install it via

Plugins → Plugin Manager → Show Plugin Manager.

Then you will find a new "TextFX" menu:

Menu TextFX → TextFX Edit → Reindent C++ code

enter image description here

To add shortcut for Indentation.

Click on SettingsShortcut Mapper... set the shortcut key you prefer. I prefer Ctrl + =.

Enter image description here

1 Comment

This plugin is no longer available
2

This may seem silly, but in the original question, Turion was editing a plain text file. Make sure you choose the correct language from the Language menu

Comments

0

Install Tidy2 plugin. I have Notepad++ v6.2.2, and Tidy2 works fine so far.

Comments

0

First download plugin manager this link then unzip the zip folder and copy this inside your program/ notepad++ folder . then restart your notepad++. then you see plugin manager inside plugin menu . then click plugin manager then click show plugin manager . It shows all your plugin list . from the list in bottom find XML tools , checked it and install it. then restart your notepad++. After open a document then plugins/xml tools/pretty plain(indent text) then enjoy.

Comments

0

Tab and Shift+Tab are actually mapped to Edit => Indent => Increase Line Indent / Decrease Line Indent.

Comments

-1

Try to save the file before, then it will indent.

2 Comments

It could be comment!
Can you elaborate on this a little more?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.