Smart indenting is the option you want provided you want the cursor to be properly indented whenever you press enter or arrow up and down through the code. An example is when you create a new method called foo(), then hit enter. You’ll notice the cursor will automatically indent itself. If you continue to hit enter, the cursor will remain indented. Not all languages support this smart indenting, but if it does, this should be the default setting for that language.
Block indenting is similar to a document editor. The difference here is when you type in foo() and hit enter, only that first new line is automatically indented. The next newline places the cursor at column 0.
None will not indent any new lines. You will have to indent everything manually.
Technorati tags: VS2005Tip, VS2008Tip