首页 > 其他分享 >探究Visual Studio生成的.vs文件夹内部结构和作用

探究Visual Studio生成的.vs文件夹内部结构和作用

时间:2023-07-05 15:23:57浏览次数:38  
标签:文件 SQLite 解决方案 数据库 vs Visual 文件夹 Studio

https://shiyousan.com/post/636441130259624698

.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局、最后打开的选项卡/操作记录/文件文档、某些自定义配置/开发环境、调试断点等这类设置信息和状态。这样每当用户关闭解决方案后再重新打开,就能继续之前的工作状态。

在VS2015之前的版本,这些信息都是散乱的保存在解决方案根目录下(最明显的参照物就是.suo文件),现在是将这些统一放在.vs这个隐藏文件夹里,如果没在Windows系统中开启查看隐藏的文件和文件夹,还是很容易无视的。

通常来说如果团队有使用源代码版本管理系统,这个文件夹都是要加入忽略规则的,毕竟没必要同步每个人的使用习惯和当前工作进度。而且.vs目录本身具有临时性,就算删除后也完全不影响解决方案的启动和运行,反正vs也会自动重新生成,只是之前的工作配置及记录没有了,也就是相当于第一次打开这个项目。


这里先随便新建一个ASP.NET MVC项目以作为案例(最好能先生成下),我是用VS2017新建的项目,VS2015应该也是可以,老版本VS则不会出现这个文件夹。打开解决方案所在目录,先查看.vs的内部结构:

.vs目录结构

.vs目录下只有两个文件夹,其中config文件夹里面只保存了一个applicationhost.config文件,这个比较容易理解,就是IIS Express的配置文件,如果项目不是ASP.NET项目则没有这个文件夹,其他的项目类型或多或少也会有类似特定的文件:

applicationhost.config文件

另外一个文件夹名称是根据当前项目的解决方案名称来的,这里因为是随便新建的项目所以名称是WebApplication1(VS中ASP.NET项目默认的命名格式),此文件夹下目前只有一个vs15文件夹,这里要注意15是Visual Studio 2017的版本号,我们平常说的VS2017是产品名称!这点算是老生常谈的知识点了,对应的VS2015版本号为14,以此类推。也就是说如果当前解决方案有用其他版本的VS打开,这里就会生成对应版本的文件夹:

不同版本的所生成的文件夹

继续查看vs15目录,里面分别有.suo文件和一个sqlite3文件夹:

vs15的子目录截图

.suo文件也是老朋友了,如果不明白的朋友可以网上搜索下,可以参考下这篇文章:Visual Studio中的.suo(Solution User Options)文件。总的来说就是记录用户在当前解决方案中设置的断点、书签之类的信息。

最后讲下sqlite3文件夹,看到名字就想起了SQLite数据库(版本3的),文件夹里面只有一个storage.ide文件,也不知道是干嘛的,网上搜索了会也没找到什么相关资料,只能自己鼓捣鼓捣。一开始用文本打开后发现是乱码,想了想虽然文件是.ide的后缀,但说不定其实就是一个SQLite数据库文件,结果用SQLite数据库打开一看还真的是!

PS:SQLite是一个嵌入式数据库,如果对它不熟悉还是建议到官网或网上找资料了解下。

先在SQLite的命令行工具中连接数据库(storage.ide文件),这里我为了方便操作便将项目的storage.ide文件直接复制到命令行工具的根目录下。接下来查询下数据库中有哪些表,一共有DocumentData1,ProjectData1,SolutionData1,StringInfo1这四张表:

打开storage.ide数据库

PS:截图中的.table命令是查询当前数据库的表,.header on命令是开启列名称,.mode column是设置显示模式为列模式,这里稍微提下,是SQLite命令行工具的语法。

先看下这4张表查询出的数据截图:

DocumentData1表和ProjectData1表查询的数据截图

StringInfo1表查询的数据截图

SolutionData1表的数据比较长会导致排版错乱,特意切换了显示模式:

SolutionData1表查询数据截图

贴下storage.ide里面表的结构截图:

四张表的结构

恩,总体上来说,除了一些blob数据类型(二进制大对象)的字段,其他的要么我看不懂,要么就是和解决方案有关的数据。

标签:文件,SQLite,解决方案,数据库,vs,Visual,文件夹,Studio
From: https://www.cnblogs.com/Dongmy/p/17528623.html

相关文章

  • Vscode设置中文方法
    Vscode怎么设置成中文呢?具体要怎么操作?下面小编就为大家分享一下Vscode设置成中文的方法,有需要的可以来了解了解哦。  Vscode怎么设置中文?Vscode设置中文方法  1、首先打开安装好的Vscode软件,可以看到页面上显示的是英文效果。如图 2、然后按住键盘上......
  • 如何设置VS Code 中 Markdown粘贴图片的位置
    如何设置VSCode中Markdown粘贴图片的位置TL;DR:使用VSCode中的markdown.copyFiles.destination配置项,可以设置粘贴图片的位置。VSCode内的markdown编辑器应该算是比较好用的,但是有一个问题一直困扰着我,就是在编辑markdown文件时,粘贴图片的位置问题。默认情况下,VSCode......
  • android studio下载地址
    AndroidStudio3.0下载地址——高速下载https://www.androiddevtools.cn/ 谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快。下载地址:https://developer.android.google.cn/studio/archive.html选择显示全部即可看到下载地址,这里给出来了。Wi......
  • vscode 连接 wsl2 下 linux 配置纯 clang 编译调试环境
    安装clang和lldb本人为ArchLinux,执行命令sudopacman-Sclanglldbvscode插件vscode安装clangd和codelldb(调试用)插件,其中codelldb插件建议手动安装,官方下载连接:codelldb-linux.vsix。下载好后移进文件夹中,用vscode打开,右键该文件安装扩展即可。配置文......
  • java的vscode自动补全
    1.vscode补全打印、循环和main函数vscode支持Eclipse和IDEA两个IDE的代码补全方式具体如下表: 代码片段Eclipse风格快捷方式IDEA风格快捷方式System.out.println()sysoutsoutSystem.err.println()syserrserr当前函数签名的System.out.println()sys......
  • Mac 下的 MxSrvs 安装 PHPzip 的扩展(感觉各种扩展都是这个样子)
    https://my.oschina.net/wgw888/blog/8563131https://blog.csdn.net/unhejing/article/details/107176891 从PHP官网下载一个zip的扩展,wgethttp://pecl.php.net/get/zip然后在下载好的目录下使用:sudo/Applications/MxSrvs/bin/php/bin/peclinstallzip来安装......
  • vscode python开发环境搭建
    vscode是微软开发的轻量级ide软件,有大量的插件,很适合python开发。以下简述vscode的python开发环境搭建步骤:一、官网下载vscode软件基于安全考虑软件下载最好到官网下载。vscode官网地址:https://code.visualstudio.com/download,到2023年7月4日最新版本为:VSCodeUserSetup-x64-1.......
  • vscode打开settings.json方法
    cmd+shift+p,输入settingOpenWorkspaceSettings也会打开UI设置界面;OpenUserSettings(JSON)会打开用户设置settings.json文件;OpenWorkspaceSettings(JSON)会打开工作区设置settings.json文件vscode存在两种设置settings.json的方式UserSettings用户设置:......
  • vscode相关问题处理
    1.跳转缓慢,跳转函数,一直转圈圈,比较慢关闭vscode删除索引文件cd~/.config/Code/User/workspaceStoragerm-rf*2.重新打开vscode即可2.波浪线报错在确认c_cpp_properties.json没有问题的前提下,考虑有重复的安装包,特别是在/opt/ros/下面有相同的.h文件。vscode会优先找......
  • Emgucv以及debugVisualizer下载
    1.Emgucv官网https://www.emgu.com/ Github--https://github.com/emgucv/ 在release包中找到对应系统的版本例如:libemgucv-windesktop-4.5.5.4823.exe下载双击运行会提示是否为Vsxxxx安装debugVisualizer选择Yes按钮进行安装......