应该都有过这样的经历,在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. iOS Xcode 项目重命名

    本文转载自:http://www.jianshu.com/p/5f088acecf64 本教程使用的 Xcode 版本是Xcode 6.3.1,网上有好多的教程,都是在 Xcode 4 上做的讲解,现 ...

  2. keil与source insght项目重命名

    第一步:将项目文件夹整个复制并另外保存在一个地方,并将文件夹名改为新项目名称 第二步:keil项目重命名, 首先,把*.Administrator.*.uvguix.Administrator.*.s ...

  3. Mac中文件夹重命名快捷键

    如何Mac中文件夹重命名快捷键,在Windows7上选择文件夹直接F2就可重命名 Mac中选中文件,再按 回车键键  可重命名文件夹名

  4. Ubuntu中图片批量重命名

    Ubuntu中图片批量重命名 图片后缀由jpg转png,但原文件中.jpg图片仍然存在 https://blog.csdn.net/qq_43493858/article/details/122998 ...

  5. linux重命名用户名_如何在Linux中更改或重命名用户名和用户ID?

    linux重命名用户名 The problem is we want to change the already created user name or user id. As we know th ...

  6. C#中实现文件重命名的方式

    场景 在C#中如果是删除文件的话可以直接使用 if (System.IO.File.Exists(fileName)){System.IO.File.Delete(fileName);} 但是如果要对 ...

  7. 解决QQ识图后复制文字然后将其粘贴到文件重命名中,总是显示重命名不成功

    如图再使用QQ屏幕识图后,复制文字,然后粘贴到文件重命名中,提示文件名不能包含下列任何字符: \ / : * ? " < > l 解决方法: 贴完以后会发现有个类似于软回车一样的 ...

  8. linux 中文件批量重命名

    mv 命令与批量重命名 linux 中文件重命名一般使用 mv 命令来完成.此命令以单个文件为参数将旧文件重命名为一个新的文件.如果要实现批量化重命名操作,用户需要自行编写程序. 实现批量重命名 最简 ...

  9. Windows 10系统中,如何重命名用户文件夹

    免责声明 该方法不适用于所有情况,可能导致数据丢失.计算机无法重启等问题,请提前保护好数据! 背景 许多Windows用户总是喜欢将文件放在用户文件夹(C:\Users\username)下,但有时候 ...

最新文章

  1. django 快速实现登录
  2. 索尼推出全能音乐AI工具:作曲混音编曲都OK!留给人类发挥的空间不多了
  3. 前端测试 jest 中判断函数由来
  4. PAT L3-015 ---- 球队“食物链”(DFS)
  5. 剑指offer 答案 python_【剑指offer】【python】面试题2~5
  6. 【视频编解码-软件】之FFMPEG交叉编译
  7. 【互联网周刊】2022年第6期摘录
  8. zabbix3.2监测mysql_zabbix3.2监控MYSQL状态
  9. 校园网系统集成方案设计
  10. wap网站源码 php,DIYWAP免费PHP手机网站管理系统 v6.3
  11. python计算成绩差_关于使用Python——写成绩计算
  12. 关于全球时间的一点理解
  13. 执一不二 跬步千里-王子密码2011年11月份心得(十)
  14. 数据结构题(C语言)----括弧匹配检验(check)
  15. 查看电脑支持的最大内存数。
  16. 尚硅谷前端视频总结(二)
  17. Android 实现禁用中文键盘
  18. Linux目录配置与FHS标准
  19. android在root权限下实现apk的静默卸载,静默安装,重启
  20. 【Java基础】Java IO编程:输入输出流、内存流、打印流、缓冲流BufferedReader、扫描流Scanner、序列化与反序列化

热门文章

  1. oracle裁员原因_Oracle大幅度裁员意味着什么?
  2. frm考试可以用计算机,FRM考试,考生自己可以携带计算器吗?
  3. matlab字符和字符串,MATLAB字符和字符串
  4. 清华大学python镜像_使用清华开源镜像安装tensorflow
  5. php抽象方法db,PHP笔记之抽象方法抽象类
  6. python基础面试都问什么问题_基本 Python 面试问题
  7. mybatis依赖_这大概就是公司一直用Mybatis的原因!真的太强了
  8. python 桌面提醒_使用Python获取桌面通知
  9. 如何将多个PDF合成为一个PDF,并且大小统一?
  10. java期末试题c卷,JAVA程序设计期末考试试卷及参考答案