应该都有过这样的经历,在Visual studio中创建解决方案,添加几个项目进去,然后开始愉快的敲代码...。写代码正欢的时候,却总是感觉那里有些不舒服,一细看,这项目名称取的真心挫,修改个吧。直接右击项目名->重命名,修改一个让自己舒心的名称。然而,真的就这么简单么。打开项目所在文件夹,怎么文件夹名字还是原来的那个啊,对于有强迫症的人来说这是不能认的。改了!然而,重新打开解决方案却发现,修改名称的那个项目加载失败...。具体如下图

显然,这么粗暴的修改是不行的。要想正确的修改项目的名称,首先要明白Visual studio 各个文件的组织方式。在VS中,最顶级的是解决方案 Solution,其可以包含多个项目 Project,在Project中包含的就是源代码(.cpp,.h)。只要是在VS下工作,至少有一个Solution和一个或者多个Project。当新建一个项目时,默认的会为该项目创建一个同名的解决方案,如下图:

Solution Project

在VS中,Solution有一个相对应的solutionname.sln文件,该文件中保存了解决方案中包含的项目及项目所在的位置。每一个项目队友一个对应的projectname.vcxproj,该文件中保存了项目的名称,项目中包含的.h .cpp文件及其它一些项目的属性。

上图是sample.sln的内容,VisualStudioVersion=12.0指出该解决方案的是VS2013的,能够打开该解决方案的最小版本MinimumVisualStudioVersion=10.0。后面就是该solution中包含的两个项目GifGenerator和Threadsafe_queue,及其所在的位置。


上图是Threadsafe_queue项目的vcxproj文件中ProjectName所对应的节点,直接右击项目->重命名修改的只是这里的值。

修改项目名称

直接右击项目->重命名只是改了project的vcxproj文件中的ProjectName的值,而如果手动修改了项目文件夹的名称,就会造成解决方案按照其sln文件加载对应的项目时,找不到正确的项目路径,所以会加载失败。
有了以上的描述,再来修改项目的名称就简单了,有以下几个步骤:

  1. 右击项目-> 重命名,修改一个高大上的名称
  2. 修改项目对应的项目文件夹的名称及其对应的vcxproj文件名称
  3. 修改解决方案的sln文件,将项目名称和项目路径修改为正确的值。

Summary

一个VS项目看起来有很多文件,感觉杂乱无章。其中的很多文件是编译器生成的(编译器所需的自动提示,符号表等),真正构建一个解决方案的文件也就那么几个。

如上图,一个解决方案下有一个sln文件及其包含的两个项目的文件夹。而每一个项目除了其所包含的.cpp .h源码文件外,其余的就两个projcetName.vcxproj是上面提到的project文件;另一个就是projectName.vcxproj.filters 文件,这个文件保存了在项目中的源代码文件文件的分组情况,例如常见的头文件,源文件,也可以添加自定义的分组,这些信息就保存在该文件中。有了这些了解以后,将项目托管到git上,就知道了那些文件应该push,那些文件应该ignore了。

VS中C++ 项目重命名的更多相关文章

  1. 在Visual Studio 2010中进行“项目重命名”的有效工具

    地址:http://www.cnblogs.com/dudu/archive/2011/12/11/visual_studio_2010_project_rename.html 提示:这个工具一次 r ...

  2. Eclipse中复制项目重命名后重新发布,项目名在地址栏仍然是原来的项目名”的问题

    转载自: http://www.cnblogs.com/chenxueling/p/5474717.html 将20170331-JavaEE-SSH项目复制一份,重命名为20170407-JavaE ...

  3. VS项目重命名工具

    VS项目重命名工具 VS项目整体重命名工具 不再为项目重命名和修改命名空间而烦恼,简单几个字,但是开发加上测试大量项目,前前后后竟然跨越了1个月,汗...不过真正的开发时间可能2-3天的样子.  一. ...

  4. 项目重命名&复制项目&删除项目

          项目重命名&复制项目&删除项目 CreateTime--2016年10月15日17:25:43 Author:Marydon 1.修改项目名或者复制的项目名 第一步: my ...

  5. eclipse怎么对项目重命名,eclipse怎么重命名类

    eclipse怎么对项目重命名,eclipse怎么重命名类

  6. Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。

    myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...

  7. iOS项目重命名以及Xcode修改Scheme名称图文详解 (yoowei)

    在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.温馨提醒:记得备份. 看到项目名称,总感觉有点low,所以尝试着要将其更改一下. 项目原结构如下: 更改后的项目结构如下: 下面开始更改操作 ...

  8. javaWeb项目重命名的问题

    tomcat项目名称修改 步骤: 1.对工程重命名(选择工程,右键Refactor->Rename)      2.修改Web路径(选择工程,右键Properties->MyEclipse ...

  9. Django 项目重命名

    在日常学习工作过程中,我们难免需要复用以前的项目,这里讲下复用 Django 项目并重命名的过程. 1.修改项目名称,使用 pycharm -> refactor 重命名整个项目. 2.修改 m ...

随机推荐

  1. .NET面试题系列[8] - 泛型

    “可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用.“ - Jon Skeet .NET面试题系列目录 .NET面试题系列[1] - .NET框架基础知识(1) .NET面试题系列[2] ...

  2. c#语言规范

    0x00 分类 C#语言规范主要有两个来源,即我们熟知的ECMA规范和微软的规范.尽管C#的ECMA规范已经前后修订4次,但其内容仅仅到C# 2.0为止.所以慕容为了方便自己和各位方便查询,在此将常见 ...

  3. dedecms 后台栏目添加图片

    前台调用栏目时需要显示图标,整理一下: 第一步:“系统->SQL命令工具” , 插入sql语句 alter table dede_arctype add typeimg varchar() 第二 ...

  4. App解读

    一直不懂别人口中说的原生开发.混合式开发.今天突然看了一篇文章讲解的是什么叫做原生App?移动 Web App?混合APP?分享给大家. 原生App是专门针对某一类移动设备而生的,它们都是直接安装到设 ...

  5. swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明

    关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...

  6. iOS之ProtocolBuffer搭建和示例demo

    这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...

  7. Lucene4.4.0 开发之排序

    排序是对于全文检索来言是一个必不可少的功能,在实际运用中,排序功能能在某些时候给我们带来很大的方便,比如在淘宝,京东等一些电商网站我们可能通过排序来快速找到价格最便宜的商品,或者通过排序来找到评论数最 ...

  8. 编写简单的Makefile文件

    makefile中的编写内容如下: www:hello.c x.h gcc hello.c -o hello clean: rm hello www:hello.c  x.h 表示生成www这个文件需 ...

  9. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  10. 【一起学OpenFoam】01 OpenFoam的优势

    CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...