应该都有过这样的经历,在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. 恢复SQL Server被误删除的数据

    恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html ...

  2. 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版

    火星坐标 火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地图.导航设备都是采用的这一坐标系或在这一坐标的基础上进行二次加密得到的.火星坐标的真实名称应该是GCJ- ...

  3. 初识JavaScript

    JavaScript ECMA-262: 变量,函数,对象,数据类型....唯独没有输入和输出. Javascript:包含 ECMA-262,核心 BOM 浏览器对象模型, DOM 文档对象模型 什 ...

  4. 参数探测(Parameter Sniffing)影响存储过程执行效率解决方案

    如果SQL query中有参数,SQL Server 会创建一个参数嗅探进程以提高执行性能.该计划通常是最好的并被保存以重复利用.只是偶尔,不会选择最优的执行计划而影响执行效率. SQL Server ...

  5. Linux基础介绍【第二篇】

    远程连接Linux的原理 SHH远程连接介绍 当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分.其中,SSH服务端 ...

  6. DDD设计中的Unitwork与DomainEvent如何相容?

    最近在开发过程中,遇到了一个场景,甚是棘手,在这里分享一下.希望大家脑洞大开一起来想一下解决思路.鄙人也想了一个方案拿出来和大家一起探讨一下是否合理. 一.简单介绍一下涉及的对象概念 工作单元:维护变 ...

  7. 浅谈SOA

    概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...

  8. 【初探Spring】------Spring IOC(一)

    IOC:Inversion of Control(控制反转).IOC它所体现的并不是一种技术,而是一种思想,一种将设计好的对象交给容器来管理的思想.IOC的核心思想就体现在控制.反转这两个词上面,要理 ...

  9. protocol buffers vs json vs XML

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com   在分布式系统中,数据序列化传递的情形非常常见,主流的三种,JSON.XML.Protobuf.   XML现在 ...

  10. CocoaPods被卡住:Updating local specs repositories

    使用CocoaPods被卡住:Updating local specs repositories 使用 pod install --verbose --no-repo-update