Partilhar via


Classe CompoundViewAction

Gerencia várias ações de edição que são tratadas como uma única operação, otimizada para um modo de exibição de texto.

Esta API não compatível com CLS. A alternativa compatível com CLS é [None].

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Package.CompoundViewAction

Namespace:  Microsoft.VisualStudio.Package
Assemblies:   Microsoft.VisualStudio.Package.LanguageService (em Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (em Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (em Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (em Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Sintaxe

'Declaração
<CLSCompliantAttribute(False)> _
Public Class CompoundViewAction _
    Implements IDisposable
[CLSCompliantAttribute(false)]
public class CompoundViewAction : IDisposable

O tipo CompoundViewAction expõe os membros a seguir.

Construtores

  Nome Descrição
Método público CompoundViewAction Inicializa uma nova instância da classe CompoundViewAction.

Superior

Métodos

  Nome Descrição
Método público Abort() Encerra a ação atual de compostos, descartar todas as edições. (Herdado de CompoundActionBase.)
Método público Abort()
Método público Close() Feche a ação composta e confirmações de todas as edições no arquivo de origem. (Herdado de CompoundActionBase.)
Método público Close()
Método público Dispose() Desaloca os recursos antes de CompoundAction objeto é destruído. (Herdado de CompoundActionBase.)
Método público Dispose()
Método público Equals determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público FlushEditActions() Liberações de quaisquer ações de edição pendente do composto ação atual. (Herdado de CompoundActionBase.)
Método público FlushEditActions()
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Campos

  Nome Descrição
Campo protegido action Interface para uma ação de CompoundAction. (Herdado de CompoundActionBase.)
Campo protegido opened Especifica se uma ação composta foi aberta. (Herdado de CompoundActionBase.)

Superior

Comentários

Essa classe é usada para simplificar a quebra automática de uma coleção de operações de edição em uma única operação.Isso é feito chamando o OpenCompoundAction método na IVsCompoundAction interface ou seja obtido ao IVsTextView objeto.Quando essa classe é descartada, o IVsCompoundAction interface é fechada e que confirma que todos os eventos edição feitos para o IVsTextLines objeto como uma única operação.

Observações para implementadores

Essa classe contém todos os elementos necessários para abrir uma ação composta dada uma IVsTextView objeto e para fechar essa ação quando essa classe é descartada.

Observações para chamadores

Criar uma instância de um CompoundViewAction objeto com o IVsTextView de objeto quando você precisa dispor de uma ou mais operações que podem ser desfeitas em uma única ação de editar.Em seguida, execute suas operações de edição como normal.Quando o novo CompoundViewAction objeto é descartado, as operações de edição são armazenadas como uma única operação.

Usar essa classe em preferência ao CompoundAction de classe como essa classe permite que o modo de exibição de texto otimizar as edições feitas.

ObservaçãoObservação

Desde que o CompoundViewAction classe funciona diretamente com o modo de exibição, o colorizer não precisa ser suspenso pela classe.

Exemplos

Este exemplo mostra como usar o CompoundViewAction classe.Este exemplo insere uma lista de palavras no local atual no arquivo de origem.Sem o CompoundViewAction de objeto, cada uma dessas inserções é tratada como um evento de edição separado e requer uma operação de desfazer separado.No entanto, com o CompoundViewAction object, toda a lista pode ser desfeita com uma única ação desfazer.

using Microsoft.VisualStudio.Package

namespace MyLanguagePackage
{
    class CMyLanguageService : LanguageService
    {
        // Insert the list of words, one per line.
        void InsertWords(Source src,string[] wordList)
        {
            if (LastActiveTextView != null)
            {
                CompoundViewAction action = new CompoundViewAction(LastActiveTextView,
                                                                   "Update source");
                using (action)
                {
                    int currentLine = 0;
                    int currentCol = 0;
                    LastActiveTextView.GetCaretPos(out currentLine, out currentCol);
                    // Insert list in reverse so the words appear in the proper
                    // order in the sourec file.
                    for (int i = wordList.Length - 1, i >= 0; i--)
                    {
                        string w = wordList[i] + "\n";
                        src.SetText(currentLine, currentCol, currentLine, currentCol, w);
                    }
                }
            }
        }
    }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Package