47

現在、VS には非常に便利な機能、sort usings (C#) があります。

たとえば、構成ファイルの XML ノードなど、任意のランダム テキストに対して同じ機能が必要です。

それを実装するのはどれほど複雑ですか?VSアドインですよね?usings の並べ替えに使用される VS API を呼び出すことは可能ですか?

4

7 に答える 7

24

編集:マクロのサポートが削除されたため、このソリューションは VS2013 以降では機能しないことに注意してください。

これを行うために、必ずしも VS アドインをコーディングする必要はありません。Visual Studio にはマクロが組み込まれています。開始するには、[ツール]、[マクロ]、[一時マクロの記録] を使用します。

これは、一時マクロの記録から得たコードに基づいて一緒にハッキングした「行の並べ替え」コマンドです。

Imports System
Imports EnvDTE

Public Module TimModule
    Sub SortLines()
        Dim Selection As TextSelection = DTE.ActiveDocument.Selection
        Dim Lines() As String = Selection.Text.Replace(Environment.NewLine, Chr(13)).Split(Chr(13))
        Array.Sort(Lines)
        DTE.UndoContext.Open("Sort Lines")
        ' Edit - see comments
        ' Selection.Text = String.Join(Environment.NewLine, Lines)
        Selection.Delete
        Selection.Insert(String.Join(Environment.NewLine, Lines)) 
        DTE.UndoContext.Close()
    End Sub
End Module
于 2010-07-28T07:52:16.110 に答える
14

良い無料のアドオンを見つけました: Menees VS Tools 2012 (または2010 ver ) - まさにそれを行い、さらにいくつかのテキストトリックを行います. インストール時にいくつかのマイナーなネガがありましたが、レビューページにコメントを残した後、数日で修正されました. 行くわよ​​!=)

現在 2017 年版があります: Menees VS Tools 2017

于 2012-12-15T14:27:51.730 に答える
7

コードを Sublime Text にコピーし、コードのセクションを選択して F9 を押します (または [編集] > [行の並べ替え] に移動します)。その後、Visual Studio にコピーして戻すことができます。

于 2015-11-16T00:46:13.873 に答える
5

個人的には、Mads Kristensen によるWeb Essentials拡張機能を使用しています。並べ替えたい行を選択し、Alt+3 または Alt+4 (昇順/降順) を選択するだけです。

于 2016-03-25T09:50:20.780 に答える