您当前的位置: 首页 >  visual studio

君子居易

暂无认证

  • 0浏览

    0关注

    210博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Visual Studio性能提示和技巧

君子居易 发布时间:2021-03-21 22:51:27 ,浏览量:0

Visual Studio性能建议旨在用于内存不足的情况,这种情况在极少数情况下可能会发生。在这些情况下,您可以优化某些您可能未使用的Visual Studio功能。以下提示不作为一般建议。

 笔记

如果由于内存问题而在使用该产品时遇到困难,请通过反馈工具告诉我们。

使用64位操作系统

如果将系统从Windows的32位版本升级到64位版本,则可将Visual Studio可用的虚拟内存量从2 GB扩展到4 GB。这使Visual Studio能够处理显着更大的工作负载,即使它是32位进程。

有关更多信息,请参见内存限制和在64位Windows上使用/ LARGEADDRESSAWARE。

禁用自动文件还原

Visual Studio自动重新打开在上一个会话中保持打开状态的文档。根据项目类型和打开的文档,这可以将加载解决方案的时间最多延长30%或更多。Windows窗体和XAML等设计器以及一些JavaScript和打字稿文件的打开速度可能很慢。

当自动文档还原导致解决方案的加载速度明显变慢时,Visual Studio会在黄色栏中通知您。您可以按照以下步骤禁用自动重新打开文件的操作:

  1. 选择“工具” >“选项”以打开“选项”对话框。

  2. 在“项目和解决方案” >“常规”页面上,取消选择“在解决方案加载时重新打开文档”。

如果禁用自动文件还原,则使用“转到”命令之一可以快速导航到要打开的文件:

  • 对于一般转到功能,选择编辑>转到>转到所有,或按Ctrl+E。

  • 使用“编辑” >“转到” >“转到上一个编辑位置”,或按Ctrl + Shift + Backspace跳到解决方案中的最后一个编辑位置。

  • 使用“转到最近的文件”可以查看解决方案中最近访问的文件的列表。选择编辑>转到>转到最近的文件,或按Ctrl+ 1,按Ctrl + [R 。

配置调试选项

如果通常在调试会话期间内存不足,则可以通过更改一个或多个配置来优化性能。

  • 启用我的代码

    最简单的优化是启用“仅我的代码”功能,该功能仅为您的项目加载符号。启用此功能可以大大节省用于调试托管应用程序(.NET)的内存。默认情况下,在某些项目类型中已启用此选项。

    要启用“仅我的代码”,请选择“工具” >“选项” >“调试” >“常规”,然后选择“启用仅我的代码”。

  • 指定要加载的符号

    对于本机调试,就内存资源而言,加载符号文件(.pdb)是昂贵的。您可以配置调试器符号设置以节省内存。通常,您将解决方案配置为仅从项目中加载模块。

    要指定符号加载,请选择“工具” >“选项” >“调试” >“符号”。

    将选项设置为“仅指定模块”而不是“所有模块”,然后指定要加载的模块。调试时,还可以在“模块”窗口中右键单击特定模块,以在符号加载中显式包括一个模块。(要在调试时打开窗口,请选择“调试” >“ Windows” >“模块”。)

    有关更多信息,请参见了解符号文件。

  • 禁用诊断工具

    建议您在使用后禁用CPU性能分析。此功能会消耗大量资源。启用CPU性能分析后,此状态将在以后的调试会话中保持不变,因此值得在完成后将其关闭。如果不需要所提供的功能,可以通过在调试时禁用诊断工具来节省一些资源。

    要禁用诊断工具,请启动调试会话,选择“工具” >“选项” >“调试” >“常规”,然后取消选择“调试时启用诊断工具”选项。

    有关更多信息,请参见分析工具。

禁用工具和扩展

可以关闭某些工具或扩展程序以提高性能。

 小费

通常,您可以一次关闭一个扩展,然后重新检查性能,从而找出性能问题。

托管语言服务(Roslyn)

有关.NET编译器平台(“ Roslyn”)性能注意事项的信息,请参阅大型解决方案的性能注意事项。

  • 禁用完整解决方案分析

    Visual Studio对整个解决方案执行分析,以便在调用生成版本之前提供有关错误的丰富体验。此功能对于尽快识别错误很有用。但是,对于大型解决方案,此功能可能会消耗大量内存资源。如果遇到内存不足或类似问题,可以禁用此体验以释放这些资源。默认情况下,此选项对Visual Basic启用,对C#禁用。

    要禁用“完整解决方案分析”,请选择“工具” >“选项” >“文本编辑器”,然后选择“ Visual Basic”或“ C#”。选择“高级”,然后取消选择“启用完整解决方案分析”。

  • 禁用CodeLens

    当显示时,Visual Studio会对每个方法执行“查找所有引用”任务。CodeLens提供诸如内联显示引用数量之类的功能。这项工作是在单独的过程中执行的,例如ServiceHub.RoslynCodeAnalysisService32。在大型解决方案中或在资源受限的系统上,此功能可能会对性能产生重大影响。如果遇到内存问题,例如在4 GB的计算机上加载大型解决方案或此过程的CPU使用率很高时,可以禁用CodeLens释放资源。

    要禁用CodeLens,请选择“工具” >“选项” >“文本编辑器” >“所有语言” >“ CodeLens”,然后取消选择功能。

     笔记

    CodeLens在Visual Studio的专业版和企业版中可用。

其他工具和扩展
  • 禁用扩展

    扩展是添加到Visual Studio中的其他软件组件,它们提供新功能或扩展现有功能。扩展通常可能是内存资源问题的根源。如果遇到内存资源问题,请尝试一次禁用一个扩展,以查看它如何影响方案或工作流。

    要禁用扩展名,请转到“扩展名” >“管理扩展名”,然后禁用特定的扩展名。

  • 禁用地图模式

    地图模式在滚动条上以微型显示代码行。默认情况下启用地图模式。

    要禁用地图模式,请转到“工具” >“选项” >“文本编辑器” >“所有语言” >“滚动条”,然后在“行为”部分中,取消选择“将地图模式用于垂直滚动条”选项。

  • 禁用自动换行

    自动换行显示一长行代码的一部分,该部分超出了代码编辑器窗口的当前宽度。默认情况下,自动换行处于启用状态。

    要为当前正在处理的项目禁用自动换行,请转至编辑>高级>自动换行。(您可以使用相同的菜单命令来切换此设置。)

    要禁用所有项目的自动换行,请转到工具>选项>常规>文本编辑器>所有语言>常规,然后在“设置”部分中取消选择自动换行选项。

  • 禁用XAML设计器

    XAML设计器默认情况下处于启用状态,但仅在打开.xaml文件时才会消耗资源。如果您使用XAML文件,但不希望使用设计器功能,请禁用此功能以释放一些内存。

    要禁用XAML设计器,请转到“工具” >“选项” >“ XAML设计器” >“启用XAML设计器”,然后取消选择该选项。

  • 删除工作量

    您可以使用Visual Studio安装程序删除不再使用的工作负载。通过跳过不再需要的程序包和程序集,此操作可以简化启动和运行时的成本。

  • 将未跟踪的文件添加到本地.gitignore

    Visual Studio对git status未跟踪的文件运行Git命令,以便在将新文件添加到存储库时提供无缝的体验。当存在大量未跟踪的文件时,git status可能会占用额外的内存。要忽略这些文件并提高其性能git status,可以将这些文件或文件夹添加到本地.gitignore文件中。要访问文件,请转到Git >设置> Git存储库设置。然后,在“ Git文件”部分中,单击“添加”以创建一个.gitignore文件,或者如果已有文件,则单击“编辑”。

强制垃圾收集

CLR使用垃圾回收内存管理系统。在此系统中,有时不再需要的对象将使用内存。此状态是暂时的;垃圾回收器将根据其性能和资源使用启发式方法释放此内存。您可以通过在Visual Studio中使用热键来强制CLR收集所有未使用的内存。如果有大量垃圾等待收集,并且您强制进行垃圾收集,则应该在任务管理器中看到devenv.exe进程的内存使用量下降。很少需要使用此方法。但是,在完成昂贵的操作(例如完整构建,调试会话或解决方案打开事件)之后,它可以帮助您确定该进程真正使用了多少内存。因为Visual Studio是混合的(托管和本机),所以本机分配器和垃圾收集器有时可能会争夺有限的内存资源。在高内存使用情况下,可能有助于强制垃圾收集器运行。

要强制进行垃圾回收,请使用热键:Ctrl + Alt + Shift + F12,Ctrl + Alt + Shift + F12(按两次)。

如果强制垃圾收集可靠地使您的方案工作,请通过Visual Studio反馈工具提交报告,因为此行为可能是一个错误。

有关CLR垃圾收集器的详细说明,请参见垃圾收集基础。

关注
打赏
1660814979
查看更多评论
立即登录/注册

微信扫码登录

0.0416s