2016-02-27 8 views
5

C++とC#の両方でIコード。 C#では、すべてがクラス内にあり、少なくとも(普通は)ネームスペース内にあるので、私はインデントしませんが、関数1、宣言などを開始します.VS 2010では、IDEは最初のインデントを行います適切と思われるクラス宣言の行私はそれを元に戻し、それに続くものはすべて自分の好みに合わせるだろう。インデントがVS 2015内の既存のコード(C#)と一致しません

VS 2015では、実際のインデントにかかわらず、すべての行が、デフォルトのとおりインデントされているかのようにインデントされます。例えば、私は、行がある場合:

x = 1; 
z = 3; 

と中央の行を追加し、それが自動的にフォーマットとして:

x = 1; 
     y = 2; 
z = 3; 

(Iは削除と置換することによって、全体の機能をフォーマットする場合関数の残りの部分は、すべてが追加された行と一致するように右にシフトされます)。

これは変更できない「機能」であると感じています。 。 。 。 Tools | Optionsダイアログ変化から

+0

にオプションで遊んする場合があります

Text Editor | C# |Formatting | General | Automatically format statement on ; Text Editor | C# |Formatting | General | Automatically format statement on } 

を私は[https://github.com/dotnet/roslyn/issuesで、この問題の議論を見つけました/ 4351]。少なくとも部分的な修正が来ているかもしれないが、まだ明らかになっていないという兆候があった。 –

答えて

1

「スマート」から「ブロック」に

Text Editor | C# | Tabs | Indenting 

オプション

また、あなたが​​3210を入力するときだけで、コードの行/ブロックを残すためにVSを指示する必要がありますまたは'}'文字です。無効にする:あなたはまた、

Text Editor | C# | Formatting | Indentation 
+0

ありがとうございます。私は "スマート"と "ブロック"の両方を試してみて、同じように動作するように見えます( "なし"と同じです)。私は、効果を止めるためにすべての書式設定をオフにする必要があります。 –

+0

私は見ました - あなたは 'Text Editor | C#|書式設定|一般|自動的に文を書式設定します; 'と'自動的に書式を設定します} '。すべての書式設定をオフにすることがその意味ですか?それはあなたが望むふるまいのようです - 私はあなたが両方ともVSをコードを残しておくことができず、行をフォーマットするか ';'または '}'が入力されます。それらの2つの欲求は不安定です。 –

+0

私はVSにコードを残しておきたくありません。例えば、ブロックの真ん中にステートメントを挿入すると、VSがそのステートメントをフォーマットするようにします( ';'を入力したとき)。 - しかし、フォーマット後に追加のステートメントを(VS 2010で発生したように)ブロック内の他のステートメントしかし、私の唯一の選択肢は、書式設定を無効にするか、または間違った書式設定を行うことです。 –

関連する問題