Esempio n. 1
0
        /// <summary>
        /// This function is the callback used to execute the command when the menu item is clicked.
        /// See the constructor to see how the menu item is associated with this function using
        /// OleMenuCommandService service and MenuCommand class.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event args.</param>
        private void MenuItemCallback(object sender, EventArgs e)
        {
            var dteSolutionHelper = new DteSolutionHelper();
            var messageBoxHelper  = new MessageBoxHelper(this.ServiceProvider);

            var selectedProject = dteSolutionHelper.GetSelectedProject();

            string newProjectName;
            bool   isOkButtonClicked = TextInputDialog
                                       .Show("Full Rename", "Enter new project name", selectedProject.Name, out newProjectName);

            if (!isOkButtonClicked)
            {
                return;
            }
            if (newProjectName == selectedProject.Name)
            {
                return;
            }

            var projectRenamer = new ProjectRenamer()
            {
                SolutionFullName  = dteSolutionHelper.GetSolutionFullName(),
                ProjectFullName   = selectedProject.FullName,
                ProjectName       = selectedProject.Name,
                ProjectUniqueName = selectedProject.UniqueName,
                ProjectNameNew    = newProjectName,
                SolutionProjects  = dteSolutionHelper.GetSolutionProjects().Select(it => it.FullName)
            };

            if (IsSharedProject(selectedProject))
            {
                projectRenamer = new SharedTypeProjectRenamer
                {
                    SolutionFullName  = projectRenamer.SolutionFullName,
                    ProjectFullName   = selectedProject.FullName,
                    ProjectName       = selectedProject.Name,
                    ProjectUniqueName = Path.ChangeExtension(selectedProject.UniqueName, null),
                    ProjectNameNew    = newProjectName,
                    SolutionProjects  = projectRenamer.SolutionProjects
                };
            }

            try
            {
                projectRenamer.FullRename();
                messageBoxHelper.ShowSuccessMessage();
            }
            catch (IOException ioe)
            {
                messageBoxHelper.ShowErrorMessage(ioe, "Close all folders, text editors related to the project");
            }
            catch (Exception ex)
            {
                messageBoxHelper.ShowErrorMessage(ex);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var projectRenamer = new ProjectRenamer()
            {
                SolutionFullName  = @"C:\Users\KUANYSH-PC\Documents\visual studio 2017\Projects\TestSolutionForRenaming\TestSolutionForRenaming.sln",
                ProjectFullName   = @"C:\Users\KUANYSH-PC\Documents\visual studio 2017\Projects\TestSolutionForRenaming\TestProjectA\TestProjectA.csproj",
                ProjectName       = "TestProjectA",
                ProjectUniqueName = @"TestProjectA\TestProjectA.csproj",
                ProjectNameNew    = "TestProjectA_NewName",
                SolutionProjects  = new List <string>
                {
                    @"C:\Users\KUANYSH-PC\Documents\visual studio 2017\Projects\TestSolutionForRenaming\TestProjectA\TestProjectA.csproj",
                    @"C:\Users\KUANYSH-PC\Documents\visual studio 2017\Projects\TestSolutionForRenaming\TestProjectB\TestProjectB.csproj",
                    @"C:\Users\KUANYSH-PC\Documents\visual studio 2017\Projects\TestSolutionForRenaming\TestProjectC\TestProjectC.csproj",
                }
            };

            projectRenamer.FullRename();
        }
Esempio n. 3
0
        public static ProjectRenamer Create(Project selectedProject, RenameOptions renameOptions)
        {
            var            dteSolutionHelper = new DteSolutionHelper();
            ProjectRenamer projectRenamer;

            if (IsSharedProject(selectedProject))
            {
                projectRenamer = new SharedTypeProjectRenamer
                {
                    ProjectUniqueName = Path.ChangeExtension(selectedProject.UniqueName, null),
                };
            }
            else
            {
                projectRenamer = new ProjectRenamer
                {
                    ProjectUniqueName = selectedProject.UniqueName
                };
            }

            projectRenamer.SolutionFullName = dteSolutionHelper.GetSolutionFullName();
            projectRenamer.ProjectFullName  = selectedProject.FullName;
            projectRenamer.ProjectName      = selectedProject.Name;
            projectRenamer.ProjectNameNew   = renameOptions.ProjectName;
            projectRenamer.SolutionProjects = dteSolutionHelper.GetSolutionProjects().Select(it => it.FullName);
            if (renameOptions.IsNecessaryToRenameClassNamespace)
            {
                projectRenamer.NamespaceRenamer = new NamespaceRenamer
                {
                    IsNecessaryToRename = renameOptions.IsNecessaryToRenameClassNamespace,
                    ProjectFiles        = dteSolutionHelper.GetProjectFiles(selectedProject),
                    SolutionFiles       = dteSolutionHelper.GetSolutionFilesExceptSelectedProject(selectedProject)
                };
            }

            return(projectRenamer);
        }