Visual Studio中的.suo(Solution User Options)文件
其实关于.suo文件,官方文档和网上很多资料就说明的十分详细了,本文主要按照我自己的理解将其整理归纳成一篇笔记以备日后查看。.suo文件全称为:Solution User Options,看了很多资料都翻译成解决方案用户选项。
建议英文好的朋友可以看这篇文章:Solution User Options (.Suo) File,我在MSDN上面也找到了一篇机翻的中文文档:解决方案用户选项 (。Suo) 文件,机翻虽然有点粗糙,但是还能将就的看下。
.suo文件是什么有啥用?
先讲下.suo文件是干嘛的,官方文档里只是很简单的一句话就概括了:

这里直接套用机翻文档的解释:解决方案用户选项 (.suo) 文件包含每个用户的解决方案的选项(感觉说了等于没说,太笼统了)。我这边自己进行了归纳,总而言之.suo主要是Visual Studio用来保存/记录以下这些信息或者说状态的文件:
- 用户在代码中插入的调试断点和跟踪点位置,包括它们的禁用/启用状态
- 添加的书签
- 设置的初始/默认启动项目
- 打开的选项卡列表,那些未关闭的文档和选项卡位置及排列顺序都会被记录下来。
- 项目卸载状态

所谓的解决方案用户选项就是包含了上面的这些东西!这里也只是列举出了一部分,只要是当前用户在解决方案中的自定义设置和工作状态/配置,都会保存在.suo文件中。此外还需要注意不同版本的VS会有不同的情况,也就是说具体情况具体分析!
PS:注意.suo是以二进制格式存储的文件,所以无法用常规手段直接查看,不要妄想用txt文本直接打开。
看完上面对.suo文件的说明,大概就能明白这个文件的主要作用了。由于记录了用户当前的开发环境,因此每当重新打开Visual Studio的解决方案时,都能继续上一次的工作环境,以便用户快速的进入工作状态。
举个简单的例子,你打开VS,写着代码还唱着歌,突然就下班了(程序猿一般不加班的)。明早上班重新打开VS,由于保存了上一次的工作环境,比如最后打开的窗口,最后写的代码位置,最后加的断点书签等,你马上就进入了工作状态,岂不美哉。如果没有保存这些用户选项,可能要花费点时间回想昨天的工作进度。
关于.suo文件的一些注意事项
首先要明确一点,如果开发团队有使用源代码版本控制系统(例如SVN,GIT等),那么一般情况下.suo都是要加入到忽略规则的。官方文档也有提到这个文件不应被添加到代码版本控制中,自己归纳的理由如下:
- 毕竟保存的内容都是针对当前用户的,本身也并不会对项目造成任何影响。
- 如果将
.suo文件提交到版本控制系统中,反而会经常触发更改跟踪,开发人员需要一直处理冲突,因此很浪费时间和精力,基本上对团队开发来说没什么意义。 - 属于隐藏文件,众猿皆知大部分隐藏文件都是独立的或是与项目无关紧要的,应当被忽略。
关于删除.suo文件的问题,一般就是想删就删,反正也没多大影响,顶多就是失去了当前的用户自定义设置。.suo一般是VS自动生成的,初建项目就有,其他动作也会触发更新和创建,例如在VS中进行全部保存/生成操作,或者整个VS关闭时都会重新创建/更新这个文件,这点可以自己做个测试。
但是如果文件在整个VS项目关闭后删除,只有触发前面所说的情况才能被重新创建出来,这点要留意下。另外在VS2015之前的版本.suo都是直接放在解决方案的根目录下,现在则移动到了..\[解决方案目录]\.vs\[解决方案名称]\vs15\v15下。
Visual Studio中的.suo(Solution User Options)文件的更多相关文章
- 对 Visual Studio 中的Resharper禁用对某种文件的检测
原因:在Visual Studio中安装Reshaper后,就会对各种文件进行代码检测,但是因为Reshaper更新的速度不是很及时,所以有时会对Visual Studio中某些新功能误断,导致Cod ...
- Visual Studio中的一些较大的文件的作用
1.sdf 这些是工程中的中间,用于预编译等作用,最终可执行文件是不需要的,默认情况下,删除后重新编译还会生成.如果不需要,在Visual Studio里进入如下设置: 进入"Tools & ...
- 去除 Visual Studio 中臃肿的 ipch 和 sdf 文件
使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量, ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- Visual Studio 中 Build 和 Rebuild 的区别
因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...
- 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)
在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...
- [转]如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
本文转自:http://www.cnblogs.com/stg609/p/3673782.html 开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framew ...
- Visual Studio 中 Tab 转换为空格的设置
Visual Studio 中 Tab 转换为空格的设置 在 Visual Studio 中写代码时,按 Tab 键,会自动进行缩进.有时希望实现按 Tab 键,出现多个空格的效果.Visual St ...
- Visual Studio中开发
如何在Visual Studio中开发自己的代码生成器插件 Visual Studio是美国微软公司开发的一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代 ...
随机推荐
- CVE-2019-0797漏洞:Windows操作系统中的新零日在攻击中被利用
https://securelist.com/cve-2019-0797-zero-day-vulnerability/89885/ 前言 在2019年2月,卡巴实验室的自动漏洞防护(AEP)系统检测 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- 查询设备的IP地址/掩码/MAC/网关
import commands, sys import platform from _utils.patrol2 import run_cmd, data_format, report_format ...
- Latex所有常用数学符号整理
原文地址:https://blog.csdn.net/ying_xu/article/details/51240291 这段时间用Latex很多,常常需要查阅相关特殊的符号,这里做一个整理,也方便大家 ...
- python多线程threading下载示例
#coding:utf-8 # windows中测试不通过,下载的图片不完整 # 通过多线程下载图片 import requests import threading class downloader ...
- peizhiwenjian
自定义配置文件 如果你不想使用application.properties作为配置文件,怎么办?完全没问题 java -jar myproject.jar --spring.config.locati ...
- bzoj4025 二分图 [分治,并查集]
传送门 思路 是二分图的充要条件:图没有奇环. 考虑按时间分治,用可撤销并查集维护点到根的距离. 仍然可以用一个小trick把两点连边变成根连边,可以看这里. 每次连边时若不连通则连上,否则判一下有没 ...
- C#将DLL嵌入到exe当中
1.选中项目文件,找到Resources.resx,双击Resources.resx,然后添加文件(选择需要的dll文件),点击确定,项目下会自动生成一个Resources文件夹,里面包含添加dll. ...
- Java Web 开发的JavaBean + Servlet + Sql Server
日期:2018.12.9 博客期:026 星期日 我知道对于每个人都需要对开发web进行了解,而我们常用的技术,也应该有所了解 /*<------------------->*/知识点: ...
- PDF怎么编辑,如何旋转PDF页面方向
很多的时候,无论是工作中,还是在学习中都会遇到PDF文件,对于PDF文件,熟悉的小伙伴知道,在编辑PDF文件的时候,是需要使用到PDF编辑软件的,那么,在编辑PDF文件的时候,需要旋转文件的页面,这时 ...