簡體   English   中英

為什么Visual Studio 2010 C#Express格式無法正確嵌套代碼?

[英]Why can't Visual Studio 2010 C# Express format nested code correctly?

考慮這段代碼......

Create(x,y,z,
null, null, null,
new Class1[     ] {
    new Class1(a,b,c),
    new Class1(a,b,c)
},
new Class2[] {
    new Class2(d,e,f    )
},
true);

請注意參數逗號后面缺少間距,以及Class1數組定義和Class2調用中的額外間距。

如果我格式化我的文檔 - Ctrl + E,D或Ctrl + K,D - 代碼格式化為此...

Create(x, y, z,
null, null, null,
new Class1[] {
    new Class1(a,b,c),
    new Class1(a,b,c)
},
new Class2[] {
    new Class2(d,e,f    )
},
true);

請注意,“外部”代碼中的參數逗號已經使用空格格式化(根據我的偏好),並且已從Class1數組定義中刪除了額外的空格(同樣,我的首選項)。 但是,“內部”代碼中的參數逗號未正確格式化,並且額外的間距保留在Class2調用中。

代碼完全沒有問題 - 它編譯並運行沒有錯誤。

每次我使用大括號創建嵌套的復雜調用時都會發生這種情況。 我想我可以通過將它們分開並使用臨時變量來使我的代碼更長更復雜,但這看起來有點過分。

為什么Visual Studio 2010 C#Express無法正確格式化這種嵌套代碼? 還有其他人經歷過這個嗎? 如有必要,我可以提供格式化首選項。 提前致謝! :)

@tvwxyz:我可以用Ctrl + K,D重現這個問題。

但是,有趣的是,如果我啟用“自動格式化已完成的塊”},當我關閉該函數時,它可以正常工作(按預期方式實現)。

工具 - >選項 - >文本編輯器 - > C# - >格式化 - >常規 - >自動格式化已完成的塊}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM