如何彻底重命名VS解决方案及其子项目
重命名解决方案及其中所包含的子项目不仅仅只是在VS界面的视图界面中重命名就完事了,还需要对工程文件夹中的`.sln`文件内容以及若干其它文件夹与文件的名称进行修改
如何彻底重命名VS解决方案及其子项目
一、为何要重命名
对我来说重命名解决方案或子项目的目的便是满足自己在文件管理上的强迫症,而VS中解决方案及其子项目的重命名并非直接修改就完事儿了,还需要处理一些尾巴以使得重命名更加彻底并不留下漏洞
对于简单的小工程文件来说若想达成和重命名一样的效果,直接通过VS新建一个工程后再将原内容迁移过去未尝不可,但原工程若引入了第三方库,这意味着你在原工程中已经做了一系列较为繁琐的依赖配置工作,我们不想再做一遍,那么就只能进行如下文所述的一系列操作以实现重命名了
二、重命名解决方案
- 直接右键后重命名即可
三、重命名子项目
- 直接重命名子项目后关闭VS,若此时不再做任何修改再重新打开则会报错,这是由于还有许多关于原名称的配置仍然残留在项目根目录的某些文件名称或内容中
- 然后我们打开项目根目录,执行下图注释操作(共修改一个文件夹名+一个文件中三处字段)
- 然后打开根目录中被你重命名的子项目对应的文件夹,执行下图注释操作(共修改三个文件名)
四、保证一致性
- 完成上述操作后,将存放被重命名的工程的文件夹(其名称此时理应与原解决方案旧名称相同)重命名为与新
.sln
解决方案文件一致的新名称(不做该步骤不会影响工程编译运行,但有助于保证良好的命名一致性) - 然后重新使用VS打开被重命名的项目,使用Ctrl+F搜索使用了原子项目名称的所有注释或关键字名称等,然后使用新名称进行重命名覆写,以免造成误解与歧义
- 若你的工程还存储在某个远程仓库如Github中,那么你也最好将README.md中的项目描述、远程仓库的名称、仓库简介中可能与名称有关的信息等悉数同步修改
五、解决方案配置
- 完成上述所有操作后,如果你发现你在代码中引入的第三方库无法正常使用,那么你需要注意是否因为重命名解决方案导致项目属性配置的模式是否被刷新为了与重命名前不同的模式,例如你配置的依赖在Release模式下生效,你就要确保运行程序时VS界面上端的运行模式也为Release而不是Debug模式
六、删除缓存文件
- 最后你最好将项目的缓存文件删除(这是本地需要做的操作,远程仓库并不需要做什么),否则你会在每次生成项目时都遇到类似以下的警告(虽然这并不会影响编译的成功,但很恶心)
1
warning MSB8028: 中间目录(x64\Release\)包含从另一个项目(你的原项目名称.vcxproj)共享的文件,这会导致错误的清除和重新生成行为
- 要删除的缓存文件是VS工程根目录下与对应项目同名的文件夹下的”x64”文件夹(对于不同的项目属性配置,其还可能名为”x32”等,其内可能包含名为Release、Debug的缓存文件夹)
- 保险起见,除了删除上述文件外最好也将工程根目录下的其余缓存文件(”.vs”、”x64”等)一并删除,然后重启项目
本文由作者按照 CC BY-NC-SA 4.0 进行授权