From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0
---
QtVsTools.Package/QtMsBuild/QtProjectIntelliSense.cs | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/QtVsTools.Package/QtMsBuild/QtProjectIntelliSense.cs b/QtVsTools.Package/QtMsBuild/QtProjectIntelliSense.cs
index 605763f..46ff9d4 100644
--- a/QtVsTools.Package/QtMsBuild/QtProjectIntelliSense.cs
+++ b/QtVsTools.Package/QtMsBuild/QtProjectIntelliSense.cs
@@ -31,12 +31,15 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Build.Framework;
+using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Threading;
+
+using Task = System.Threading.Tasks.Task;
+using Thread = System.Threading.Thread;
namespace QtVsTools.QtMsBuild
{
using Core;
- using Thread = System.Threading.Thread;
static class QtProjectIntellisense
{
@@ -45,25 +48,31 @@
string configId = null,
IEnumerable<string> selectedFiles = null)
{
- if (project == null || !QtProjectTracker.IsTracked(project))
+ ThreadHelper.ThrowIfNotOnUIThread();
+
+ if (project == null || !QtProjectTracker.IsTracked(project.FullName))
return;
+
if (QtVsToolsPackage.Instance.Options.BuildDebugInformation) {
Messages.Print(string.Format(
"{0:HH:mm:ss.FFF} QtProjectIntellisense({1}): Refreshing: [{2}] {3}",
DateTime.Now, Thread.CurrentThread.ManagedThreadId,
(configId != null) ? configId : "(all configs)", project.FullName));
}
- Task.Run(() => RefreshAsync(project, configId, selectedFiles));
+ string projectPath = project.FullName;
+ _ = Task.Run(() => RefreshAsync(project, projectPath, configId, selectedFiles, false));
}
public static async Task RefreshAsync(
EnvDTE.Project project,
+ string projectPath,
string configId = null,
- IEnumerable<string> selectedFiles = null)
+ IEnumerable<string> selectedFiles = null,
+ bool refreshQtVars = false)
{
- if (project == null || !QtProjectTracker.IsTracked(project))
+ if (project == null || !QtProjectTracker.IsTracked(projectPath))
return;
- var tracker = QtProjectTracker.Get(project);
+ var tracker = QtProjectTracker.Get(project, projectPath);
await tracker.Initialized;
var properties = new Dictionary<string, string>();
@@ -84,9 +93,14 @@
}
foreach (var config in configs) {
- await QtProjectBuild.StartBuildAsync(
- project, config, properties, targets,
- LoggerVerbosity.Quiet);
+ if (refreshQtVars) {
+ await QtProjectBuild.StartBuildAsync(
+ project, projectPath, config, properties, targets,
+ LoggerVerbosity.Quiet);
+ } else {
+ await QtProjectBuild.SetOutdatedAsync(
+ project, projectPath, config, LoggerVerbosity.Quiet);
+ }
}
}
}
--
Gitblit v1.9.1