50

是否有任何可用於Visual Studio 2008的插件或工具來按字母順序排列方法?理想情況下,我希望有一種工具可以自動或按需地按字母順序排列選擇或指定類型(即只有方法,而不是成員變量)。Visual Studio中的Alphabetizing方法

+0

Alphabetize他們在哪裏?在源代碼文件中? – ahockley 2009-01-21 18:24:57

+0

是的,在源代碼中。 – 80bower 2011-03-06 19:24:08

回答

23

Resharper有一個類型成員佈局,它可以按類型,可訪問性和字母順序排列成員。

你也可以看看Ora,它提供了一個命令式視覺工作室中的窗格(即使你的源可能不是)。 Link死了。

-4

假設你的意思是在源代碼文件中將它們字母化;不,那裏沒有。我並不認爲這會是一件好事,因爲大多數程序都是通過不同的方式進行組織的。

但是,我相信在Visual Studio中,右側的下拉菜單大部分都是按字母順序排列的。另外,在Visual Studio的對象瀏覽器中,我相信它們大都是按字母順序排列的。

+4

「我並不認爲這會是一件好事,因爲大多數程序都是通過不同的方式進行組織的。」 公司風格(即我的老闆)喜歡按字母順序排列的方法,所以我一直在尋找一種我們可以用來讓他快樂的工具。 :) – 80bower 2009-01-21 18:54:43

+5

誰知道什麼理由,人們有組織他們的代碼,我認爲這是一個有點太搶先假設這是一個糟糕的組織方法沒有任何背景 – f0ster 2013-03-27 19:50:33

+1

我發現alphabetizing方法(滿足StyleCop的需求後)在查看差異時幫助很大在代碼評論中,特別是插入新代碼時。然而,YMMV,但我知道它對我們很好。 – aolszowka 2013-10-20 02:25:39

6

對於C#,您可以使用Regionerate來組織您的代碼。您可以創建一個簡單組織代碼但不使用區域的模板。

19

下面的答案比OP要求的要進一步得多,因爲我相信,對於大多數程序員來說,按姓名排序方法遠遠不夠。大多數情況下,您希望您的方法,構造函數,字段,事件處理程序和接口實現彼此分離(即通過區域),並按各種標準排序。

爲此,我嘗試了NArrangeRegionerate和其他,但我發現它們不直觀。所以ReSharper成爲我選擇的工具。

正如@DavidN所提到的,ReSharper可以通過名稱,可訪問性,類型,只讀等對您的類成員(字段,構造函數,方法,委託)進行排序......您還可以用區域包圍特定成員。我最喜歡的是能夠將接口成員(例如,#region IDisposablevoid Dispose()方法)分組以及處理事件的方法。

ReSharper提供了兩種 - 一種簡單的方法來配置和觸發類成員的排序。

配置佈局

Visual Studio中創建一個XML文件,並複製粘貼的默認類型成員的佈局(ReSharper的選項>語言> C#>類型成員佈局)到該文件。下載最新的XSD schema。將架構文件添加到Visual Studio的架構文件(菜單> XML>架構...>添加)。您現在應該可以編輯具有IntelliSense支持的XML文件。

觸發重新排序

如果使用的Visual Studio鍵盤方案(ReSharper的選項> Visual Studio集成),然後按按Ctrl + E,F靜音代碼清理。將彈出一個對話框,您可以在其中選擇代碼清除設置。對於此設置,您應該檢查重新排序類型成員。第二次按快捷鍵時,ReSharper會自動重新排列你的班級成員。

1ReSharper Type Members XSD Schema

13

雖然ReSharper的有很多很酷的功能,它在CPU和I/O的使用有很大的影響,並且可以使用起來很複雜。它也僅在商業許可下可用,除非您符合一些非常具體的免費使用許可。

嘗試CodeMaid。它可以免費用於商業用途,並且具有低得多的性能開銷。我發現它很容易使用,它對於字母排序方法非常有用。


要排序文件,通過解決方案資源管理器中打開文件:

  1. 右擊打開文件
  2. 碼傭菜單(可能是附近的右鍵菜單的頂部)
  3. 點擊Reorganize Active Document

或者,使用默認的CodeMaid熱鍵CTRL + MZ對活動文件進行排序。

相關問題