Ejemplo n.º 1
0
        List <Task> SelectedTasks()
        {
            List <Task> result = new List <Task>();

            int          hr       = VSConstants.S_OK;
            IVsTaskList2 taskList = _serviceProvider.GetService(typeof(SVsTaskList)) as IVsTaskList2;

            IVsEnumTaskItems enumerator = null;

            hr = taskList.EnumSelectedItems(out enumerator);
            Debug.Assert(hr == VSConstants.S_OK, "EnumSelectedItems did not return S_OK.");

            IVsTaskItem[] items   = new IVsTaskItem[] { null };
            uint[]        fetched = new uint[] { 0 };
            for (enumerator.Reset(); enumerator.Next(1, items, fetched) == VSConstants.S_OK && fetched[0] == 1; /*nothing*/)
            {
                Task task = items[0] as Task;
                if (task != null)
                {
                    result.Add(task);
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public void SetAsActiveProvider()
        {
            IVsTaskList2 taskList = _serviceProvider.GetService(typeof(SVsTaskList)) as IVsTaskList2;
            Guid         ourGuid  = _providerGuid;
            int          hr       = taskList.SetActiveProvider(ref ourGuid);

            Debug.Assert(hr == VSConstants.S_OK, "SetActiveProvider did not return S_OK.");
        }
Ejemplo n.º 3
0
 private void TaskListRefreshTask(Task task)
 {
     if (taskList != null && taskListCookie != 0 && task != null)
     {
         IVsTaskList2 taskList2 = taskList as IVsTaskList2;
         if (taskList2 != null)
         {
             IVsTaskItem[] taskItems = { task };
             taskList2.RefreshOrAddTasks(taskListCookie, 1, taskItems);
         }
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Registers current task provider inside the VisualStudio IDE.
        /// </summary>
        public void Register(string guid, string name)
        {
            // get access to TaskList:
            IVsTaskList  taskListService  = serviceProvider.GetService(typeof(SVsTaskList)) as IVsTaskList;
            IVsTaskList2 taskListService2 = taskListService as IVsTaskList2;

            this.guid = new Guid(guid);
            this.name = name;

            if (taskListService != null && taskListService2 != null)
            {
                ErrorHandler.ThrowOnFailure(taskListService.RegisterTaskProvider(this, out cookie));
                ErrorHandler.ThrowOnFailure(taskListService2.SetActiveProvider(ref this.guid));
            }
        }
Ejemplo n.º 5
0
        public static HashSet <string> CollectElementPathsFromToolWindowList(
            ToolWindowKind toolWindowKind)
        {
            HashSet <string> stringSet   = new HashSet <string>();
            IVsTaskList2     vsTaskList2 = (IVsTaskList2)null;

            switch (toolWindowKind)
            {
            case ToolWindowKind.ErrorList:
                vsTaskList2 = CoreUtility.ServiceProvider.GetService(typeof(SVsErrorList)) as IVsTaskList2;
                break;

            case ToolWindowKind.TaskList:
                vsTaskList2 = CoreUtility.ServiceProvider.GetService(typeof(SVsTaskList)) as IVsTaskList2;
                break;
            }
            IVsEnumTaskItems ppEnum = (IVsEnumTaskItems)null;

            if (vsTaskList2 != null && ErrorHandler.Succeeded(vsTaskList2.EnumSelectedItems(out ppEnum)))
            {
                IVsTaskItem[] rgelt        = new IVsTaskItem[1];
                uint[]        pceltFetched = new uint[1];
                while (ppEnum.Next(1U, rgelt, pceltFetched) == 0)
                {
                    if (rgelt != null && ((IEnumerable <IVsTaskItem>)rgelt).Count <IVsTaskItem>() > 0 && rgelt[0] != null)
                    {
                        string pbstrMkDocument = (string)null;
                        if (ErrorHandler.Succeeded(rgelt[0].Document(out pbstrMkDocument)) && !string.IsNullOrWhiteSpace(pbstrMkDocument))
                        {
                            if (pbstrMkDocument.EndsWith(".xpp", StringComparison.OrdinalIgnoreCase))
                            {
                                stringSet.Add(CoreUtility.GetService <IMetadataInfoProvider>().GetXmlArtifactFilePath(pbstrMkDocument));
                            }
                            else if (pbstrMkDocument.EndsWith(".xml", StringComparison.OrdinalIgnoreCase))
                            {
                                stringSet.Add(pbstrMkDocument);
                            }
                        }
                    }
                }
            }
            return(stringSet);
        }
Ejemplo n.º 6
0
        // Get the currently selected task items
        static public List <Task> GetSelectedTasks(IVsTaskList2 taskList)
        {
            if (taskList == null)
            {
                return(null);
            }

            int selectedCount = 0;

            taskList.GetSelectionCount(out selectedCount);
            if (selectedCount <= 0)
            {
                return(null);
            }

            IVsEnumTaskItems enumItems;
            int hr = taskList.EnumSelectedItems(out enumItems);

            if (hr != 0 || enumItems == null)
            {
                return(null);
            }

            List <Task> items = new List <Task>(selectedCount);

            uint[]        fetched = { 0 };
            IVsTaskItem[] elems   = { null };
            do
            {
                hr = enumItems.Next(1, elems, fetched);
                if (fetched[0] == 1)
                {
                    Task task = elems[0] as Task;
                    items.Add(task); // can add null items
                }
            }while (hr == 0 && fetched[0] == 1);

            return(items);
        }
Ejemplo n.º 7
0
        private void IgnoreSelectedItems(bool ignore)
        {
            int          hr       = VSConstants.S_OK;
            IVsTaskList2 taskList = _serviceProvider.GetService(typeof(SVsTaskList)) as IVsTaskList2;

            IVsEnumTaskItems enumerator = null;

            hr = taskList.EnumSelectedItems(out enumerator);
            Debug.Assert(hr == VSConstants.S_OK, "EnumSelectedItems did not return S_OK.");

            IVsTaskItem[] items   = new IVsTaskItem[] { null };
            uint[]        fetched = new uint[] { 0 };
            for (enumerator.Reset(); enumerator.Next(1, items, fetched) == VSConstants.S_OK && fetched[0] == 1; /*nothing*/)
            {
                Task task = items[0] as Task;
                if (task != null)
                {
                    task.Ignored = ignore;
                }
            }

            Refresh();
        }
Ejemplo n.º 8
0
    // Get the currently selected task items
    static public List<Task> GetSelectedTasks(IVsTaskList2 taskList)
    {
      if (taskList == null) return null;

      int selectedCount = 0;
      taskList.GetSelectionCount(out selectedCount);
      if (selectedCount <= 0) return null;

      IVsEnumTaskItems enumItems;
      int hr = taskList.EnumSelectedItems(out enumItems);
      if (hr != 0 || enumItems == null) return null;

      List<Task> items = new List<Task>(selectedCount);
      uint[] fetched = { 0 };
      IVsTaskItem[] elems = { null };
      do {
        hr = enumItems.Next(1, elems, fetched);
        if (fetched[0] == 1) {
          Task task = elems[0] as Task;
          items.Add(task); // can add null items
        }
      }
      while (hr == 0 && fetched[0] == 1);

      return items;
    }
Ejemplo n.º 9
0
 public void Release()
 {
   taskList = null; // this also disables menu handling
 }
Ejemplo n.º 10
0
    private IVsTaskList2 taskList; // The global task list object

    public RootMenu() : base(null, null)
    {
      taskList = Common.GetService(typeof(SVsErrorList)) as IVsTaskList2;
    }
Ejemplo n.º 11
0
 public void Release()
 {
     taskList = null; // this also disables menu handling
 }
Ejemplo n.º 12
0
        private IVsTaskList2 taskList; // The global task list object

        public RootMenu() : base(null, null)
        {
            taskList = Common.GetService(typeof(SVsErrorList)) as IVsTaskList2;
        }