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 | |
---|---|---|
CompoundViewAction | Inicializa uma nova instância da classe CompoundViewAction. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Abort() | Encerra a ação atual de compostos, descartar todas as edições. (Herdado de CompoundActionBase.) | |
Abort() | ||
Close() | Feche a ação composta e confirmações de todas as edições no arquivo de origem. (Herdado de CompoundActionBase.) | |
Close() | ||
Dispose() | Desaloca os recursos antes de CompoundAction objeto é destruído. (Herdado de CompoundActionBase.) | |
Dispose() | ||
Equals | determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.) | |
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.) | |
FlushEditActions() | Liberações de quaisquer ações de edição pendente do composto ação atual. (Herdado de CompoundActionBase.) | |
FlushEditActions() | ||
GetHashCode | Serve como uma função de hash para um tipo específico. (Herdado de Object.) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial de Objectatual. (Herdado de Object.) | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) |
Superior
Campos
Nome | Descrição | |
---|---|---|
action | Interface para uma ação de CompoundAction. (Herdado de CompoundActionBase.) | |
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çã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.