Exemplo n.º 1
0
        internal static string GetSelection()
        {
            var service     = _serviceProvider.GetService(typeof(SVsTextManager));
            var textManager = service as IVsTextManager2;

            _ = textManager.GetActiveView2(1, null, (uint)_VIEWFRAMETYPE.vftCodeWindow, out IVsTextView view);

            view.GetSelection(out var startLine, out var startColumn, out var endLine, out var endColumn);
            var start = new EditorTextPosition(startLine, startColumn);
            var end   = new EditorTextPosition(endLine, endColumn);

            view.GetSelectedText(out var selectedText);

            var selection = new EditorTextSelection(start, end, selectedText);

            return(selection.Text);
        }
Exemplo n.º 2
0
 internal static EditorTextPosition Max(EditorTextPosition a, EditorTextPosition b)
 {
     return(a > b ? a : b);
 }
Exemplo n.º 3
0
 internal static EditorTextPosition Min(EditorTextPosition a, EditorTextPosition b)
 {
     return(a > b ? b : a);
 }
Exemplo n.º 4
0
 public EditorTextSelection(EditorTextPosition a, EditorTextPosition b, string textContent)
 {
     StartPosition = EditorTextPosition.Min(a, b);
     EndPosition   = EditorTextPosition.Max(a, b);
     Text          = textContent;
 }