You must move the project from the solution to the solution folder programmatically. Tried to remove the project from the solution and add it to the folder again using EnvDTE SolutionFolder.AddFromFile(string filePath); because I did not find in the documentation the function of moving a project by decision (or setting a new parent). And everything seemed to work as it should, however, when adding projects in this way, projects added to the solution appear on the Start Page in the Quick Access Column.

How to move a project inside the solution without re-adding the project (without clogging up the quick launch panel)?

Add function as it is at the moment:

 protected Project AddProjectToSolutionFolder(Project project1, SolFolderTypes solutionFolderType) { try { Solution2 solution = (Solution2)((DTE2)base._dteObject).Solution; string projFullname = project1.FullName; string solutionFolderName = solutionFolderType == SolFolderTypes.Folder1 ? "Folder1" : "Folder2"; Project project = GetSolutionSubFolder(solution, solutionFolderName); if (project != null) { SolutionFolder folder = (SolutionFolder)project.Object; solution.Remove(project1); project1 = folder.AddFromFile(projFullname); } } catch (Exception e) { } return project1; } private static Project GetSolutionSubFolder(Solution2 solution, string subfolder) { Projects projects = solution.Projects; Project folder = projects.Cast<Project>().FirstOrDefault(p => string.Equals(p.Name, subfolder)); if (folder == null) folder = solution.AddSolutionFolder(subfolder); return folder; } 

    0