Cómo: Controlar la lista de tareas

Actualización: noviembre 2007

La Lista de tareas y su contenido pueden ser controlados mediante la automatización. Se representa en el modelo de automatización de Visual Studio mediante los siguientes objetos y colecciones:

Nombre de objeto

Descripción

Objeto TaskList

Representa la Lista de tareas.

Colección TaskItems

Representa todas las tareas de la Lista de tareas.

Objeto TaskItem

Representa un solo elemento de tarea de la Lista de tareas.

Objeto TaskListEvents

Permite responder a eventos que tienen lugar en la Lista de tareas.

Mediante estos objetos y colecciones se puede:

  • Crear un elemento de tarea y agregarlo a la Lista de tareas (método Add) o suprimirlo de la Lista de tareas (método Delete).

  • Obtener los elementos que se encuentran actualmente en la Lista de tareas (método Select).

  • Mostrar un documento asociado a un elemento de tarea (método Navigate).

  • Seleccionar un elemento de tarea (método Select).

  • Responder cuando se agrega, quita, modifica o selecciona un elemento de tarea (eventos TaskAdded, TaskRemoved, TaskModified y TaskNavigated).

Además de controlar el contenido de la Lista de tareas, se pueden controlar sus características, como el ancho y el alto. Para obtener más información, vea Cómo: Cambiar las características de las ventanas.

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Estos procedimientos se desarrollaron con la Configuración de desarrollo general activa. Para cambiar la configuración, elija la opción Importar y exportarconfiguraciones del menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Ejemplo

El siguiente ejemplo de complemento muestra cómo hacer referencia y utilizar los diversos miembros del modelo de automatización de Lista de tareas. En este ejemplo se agregan nuevas tareas a la Lista de tareas, se indica el número de tareas y se suprime una de ellas. Antes de ejecutar el ejemplo siguiente, seleccione Lista de tareas en el menú Ver.

Public Sub OnConnection(ByVal application As Object, ByVal _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, _
  ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    ' Pass the applicationObject member variable to the code example.
    TaskListExample(_applicationObject)
End Sub

Sub TaskListExample(ByVal dte As DTE2)
    Dim tl As TaskList = dte.ToolWindows.TaskList
    Dim tlItem As TaskItem

    ' Add a couple of tasks to the Task List.
    tlItem = tl.TaskItems.Add(" ", " ", "Test task 1.", _
      vsTaskPriority.vsTaskPriorityHigh, vsTaskIcon.vsTaskIconUser, _
      True, , 10, , )
    tlItem = tl.TaskItems.Add(" ", " ", "Test task 2.", _
      vsTaskPriority.vsTaskPriorityLow, vsTaskIcon.vsTaskIconComment, _
      , , 20, , )

    ' List the total number of task list items after adding the new 
    ' task items.
    MsgBox("Task Item 1 description: " & _
      tl.TaskItems.Item(2).Description)
    MsgBox("Total number of task items: " & tl.TaskItems.Count)

    ' Remove the second task item. The items list in reverse numeric 
    ' order.
    MsgBox("Deleting the second task item")
    tl.TaskItems.Item(2).Delete()
    MsgBox("Total number of task items: " & tl.TaskItems.Count)
End Sub
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode   
connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    TaskListExample(_applicationObject);
}

public void TaskListExample(DTE2 dte)
{
    TaskList tl = (TaskList)dte.ToolWindows.TaskList;
    TaskItem tlItem;
    
    // Add a couple of tasks to the Task List.
    tlItem = tl.TaskItems.Add(" ", " ", "Test task 1.",  
      vsTaskPriority.vsTaskPriorityHigh, vsTaskIcon.vsTaskIconUser, 
      true, "", 10, true, true);
    tlItem = tl.TaskItems.Add(" ", " ", "Test task 2.", 
      vsTaskPriority.vsTaskPriorityLow, vsTaskIcon.vsTaskIconComment, 
      true, "", 20, true,true);

    // List the total number of task list items after adding the new 
    // task items.
    System.Windows.Forms.MessageBox.Show("Task Item 1 description: 
      "+tl.TaskItems.Item(2).Description);
    System.Windows.Forms.MessageBox.Show("Total number of task items: 
      "+tl.TaskItems.Count);

    // Remove the second task item. The items list in reverse numeric 
    // order.
    System.Windows.Forms.MessageBox.Show("Deleting the second task 
      item");
    tl.TaskItems.Item(2).Delete();
    System.Windows.Forms.MessageBox.Show("Total number of task items: 
      "+tl.TaskItems.Count);
}

Vea también

Tareas

Cómo: Cambiar las características de las ventanas

Cómo: Crear un complemento

Tutorial: Crear un asistente

Conceptos

Gráfico del modelo de objetos de automatización

Referencia

Lista de tareas (Visual Studio)

Otros recursos

Crear y controlar las ventanas del entorno

Crear complementos y asistentes

Referencia de automatización y extensibilidad