Visual Studio 2013(和ReSharper)使用哪些文件夹?

5
我在一个企业Windows 7环境中工作,我们的配置文件存储在不同地点的中央服务器上。因此,即使我已经将TFS签出到本地文件夹(d:\src),在Visual Studio中打开包含100多个项目的解决方案也需要相当长的时间(网络延迟和带宽受限)。
Visual Studio 2013 SP1在工作时使用哪些临时数据文件夹,我怎样才能覆盖它们以使用我自己SSD驱动器上的特定文件夹?
2个回答

10
ReSharper将信息存储在本地和漫游文件夹中,具体位置为%LOCALAPPDATA%\JetBrains(本地)和%APPDATA%\JetBrains(漫游)。 有趣的文件如下:
  • 全局设置和扩展元数据(例如已安装的扩展列表)存储在%APPDATA%\JetBrains\ReSharper\vAny
  • 扩展安装到%LOCALAPPDATA%\JetBrains\ReSharper\vAny\packages
  • 解决方案缓存存储在%LOCALAPPDATA%\JetBrains\ReSharper\vX.X\SolutionCaches
  • 特定于VS版本的静态缓存也存储在%LOCALAPPDATA%\JetBrains\ReSharper\vX.X\vsY.Y(特别是外部注释的xml索引的二进制形式)
  • 令人烦恼的是,“外部源”功能下载的pdb文件没有被缓存在JetBrains文件夹中(我在这里提出了问题):
    • %LOCALAPPDATA%\RefSrcSymbols用于从Microsoft的参考源站点下载的文件
    • %LOCALAPPDATA%\SymbolSourceSymbols用于从symbolsource.org下载的文件
    • %LOCALAPPDATA%\Symbols用于从在Visual Studio的符号选项对话框页面中声明的服务器下载的文件
    • %TEMP%\Symbols用于通过_NT_SYMBOL_PATH环境变量下载的符号,除非环境变量本身指定了更好的缓存

如果您只关心漫游配置文件,则使用ReSharper应该没问题 - 存储在配置文件夹(%APPDATA%)中的数据很少 - 例如,在我的计算机上为96Kb。

但是如果你的整个配置文件目录都被重定向到网络共享,包括 %LOCALAPPDATA% 部分,那么可能会遇到麻烦。解决方案缓存可以非常庞大,取决于你有多少不同的解决方案(我的超过了 1GB,但是有很多大型解决方案),扩展包也可能增加,尤其是自从 8.2 开始将外部注释作为可更新软件包发布以来(大约需要 60MB)。

幸运的是,你可以更改设置,告诉 ReSharper 将缓存放在解决方案目录或者 %TEMP% 中,这可以帮助减轻压力(但是如果你将它们放在解决方案目录中,请确保在源代码控制中忽略 _ReSharper.*\)。

不幸的是,你无法移动扩展包安装目录。ReSharper 假设 %LOCALAPPDATA% 实际上是配置文件的本地部分,并且可以用于存储不会随着你的配置文件迁移的数据。


请问JetBrains是否就您在PDB方面的问题给出了回复?很烦人的是,每次您进入系统方法时,Resharper都会从头开始下载符号。 - Dom84
它不应该每次都下载 - 它们应该被缓存在上述文件夹中。问题仍然存在,这意味着它们还没有被移动。 - citizenmatt
我发现了这个问题。https://youtrack.jetbrains.com/issue/RSRP-406276。看起来解决这个错误需要重新获取一个新的许可证。 - Dom84

3
Visual Studio 13使用与系统自身临时文件夹相同的临时文件夹。我的图片显示了我自定义的G:\Temp,以便与RamDisk一起使用。对于许多应用程序来说,使用Ramdisk驱动器作为临时文件夹肯定会提高速度。如果您有更多的RAM,则可以创建比SSD快得多的RAMDisk。由于数据在崩溃发生时很容易丢失,因此Ramdisk不适合用于存储。您可以像我在PC上做的那样将其用于缓存。

https://devblogs.microsoft.com/visualstudio/improving-your-build-times-with-incredibuild-and-visual-studio-2015/


大的瞬态文件夹似乎是 C:\Users\youruserid\AppData\Local\JetBrains\Transient,但也有很多大型文件直接放在 %TEMP% 下的随机十六进制命名文件夹中,这些数据似乎无法配置到其他地方。CCleaner正在清除由JetBrains Resharper生成的每周几GB数据。 - Warren P
@warren 这是我两年前的设置。我现在使用 Primocache,它使用内存缓存文件,因此 ReSharper 读取的所有内容都被缓存在内存中,不会对磁盘造成太大负载。试试吧,它比这个 RAM 磁盘想法运行得更好。 - Anirudha Gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接