Поделиться через


Практическое руководство. Управление списком задач

Надстройки Visual Studio выступан сопоставления в Visual Studio 2013. Необходимо обновить для надстройки с расширениями VSPackage. Дополнительные сведения об обновлении см. в разделе Часто задаваемые вопросы. Преобразование надстроек в расширения VSPackage.

Списком задач и его содержимым можно управлять при помощи автоматизации. В модели автоматизации Visual Studio список задач представлен следующими объектами и коллекциями:

Имя объекта

Описание

Объект TaskList

Представляет Список задач.

Коллекция TaskItems

Представляет все задачи в Списке задач.

Объект TaskItem

Предоставляет отдельную задачу в Списке задач.

Объект TaskListEvents

Позволяет реагировать на события, происходящие в Списке задач.

Использование этих объектов и коллекций дает возможность:

  • Создавать задачи и добавлять их в Список задач (метод Add) или удалять их из Списка задач (метод Delete).

  • Получать элементы, находящиеся в Списке задач (метод Select).

  • Отображать документ, связанный с задачей (метод Navigate).

  • Выбирать задачу (метод Select).

  • Реагировать при добавлении, удалении, изменении или выборе задачи (события TaskAdded, TaskRemoved, TaskModified и TaskNavigated).

Управлять можно не только содержимым Списка задач, но и такими его характеристиками, как ширина и высота. Для получения дополнительной информации см. Практическое руководство. Изменение параметров окон.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Эти процедуры были разработаны с обычными параметрами разработки.Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров.Для получения дополнительной информации см. Настройка параметров разработки в Visual Studio.

Пример

В следующем примере надстройки показано, как использовать различные члены модели автоматизации Списка задач и ссылаться на них. В этом примере в Список задач добавляются две новые задачи, выводится список номеров задач, а затем одна из задач удаляется. Перед запуском этого примера необходимо в меню Вид выбрать Список задач. Задачи отображаются в категории Надстройки и макросы.

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);
}

См. также

Задачи

Практическое руководство. Изменение параметров окон

Практическое руководство. Создание надстройки

Пошаговое руководство. Создание мастера

Ссылки

Список задач <Pave Over> (Visual Studio)

Основные понятия

Диаграмма модели объектов автоматизации

Другие ресурсы

Создание окон среды и управление ими

Создание надстроек и мастеров

Справочник по автоматизации и возможностям расширения среды