public void DeleteDirectory(string path, bool recursive) { // Only delete this folder if it is empty and we didn't specify that we want to recurse if (!recursive && (FileSystemUtility.GetFiles(ProjectFullPath, path, "*.*", recursive).Any() || FileSystemUtility.GetDirectories(ProjectFullPath, path).Any())) { NuGetProjectContext.Log(ProjectManagement.MessageLevel.Warning, ProjectManagement.Strings.Warning_DirectoryNotEmpty, path); return; } NuGetUIThreadHelper.JoinableTaskFactory.Run(async delegate { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); // Workaround for TFS update issue. If we're bound to TFS, do not try and delete directories. if (SourceControlUtility.GetSourceControlManager(NuGetProjectContext) == null) { var deletedProjectItem = await EnvDTEProjectUtility.DeleteProjectItemAsync(EnvDTEProject, path); if (deletedProjectItem) { NuGetProjectContext.Log(ProjectManagement.MessageLevel.Debug, ProjectManagement.Strings.Debug_RemovedFolder, path); } } }); }
private void StartTracking() { // don't track again if already tracking if (IsTracking) { return; } // don't do anything if user explicitly disables source control integration if (_vsSettings != null && SourceControlUtility.IsSourceControlDisabled(_vsSettings)) { return; } NuGetUIThreadHelper.JoinableTaskFactory.Run(async() => { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); uint cookie; if (ProjectTracker.AdviseTrackProjectDocumentsEvents(_projectDocumentListener, out cookie) == VSConstants.S_OK) { _trackingCookie = cookie; } }); }
public void DeleteDirectory(string path, bool recursive) { // Only delete this folder if it is empty and we didn't specify that we want to recurse if (!recursive && (FileSystemUtility.GetFiles(ProjectFullPath, path, "*.*", recursive).Any() || FileSystemUtility.GetDirectories(ProjectFullPath, path).Any())) { NuGetProjectContext.Log(MessageLevel.Warning, NuGet.ProjectManagement.Strings.Warning_DirectoryNotEmpty, path); return; } // Workaround for TFS update issue. If we're bound to TFS, do not try and delete directories. if (SourceControlUtility.GetSourceControlManager(NuGetProjectContext) == null && EnvDTEProjectUtility.DeleteProjectItem(EnvDTEProject, path)) { NuGetProjectContext.Log(MessageLevel.Debug, NuGet.ProjectManagement.Strings.Debug_RemovedFolder, path); } }
private void StartTracking() { // don't track again if already tracking if (IsTracking) { return; } // don't do anything if user explicitly disables source control integration if (_vsSettings != null && SourceControlUtility.IsSourceControlDisabled(_vsSettings)) { return; } uint cookie; _projectTracker.AdviseTrackProjectDocumentsEvents(_projectDocumentListener, out cookie); _trackingCookie = cookie; }