在Visual Studio 2013中搜索,2015结果在缩小文件中时挂起(单个长行)

时间:2015-07-24 06:59:01

标签: visual-studio

我们有一个使用Angular,jquery和Telerik Kendo的网络项目。

搜索随后在Ctrl+Shift+F*.min.js个文件中找到的任何文字*.js.map时,VS(2013年和2015年)将在30-60秒内无响应。此外,当我稍后滚动Find Result 1窗口时,当长线变得可见时,它将暂时变得无法响应。如果我从Find Result 1清除搜索结果,那么一切都会变得平滑。

项目本身包含*.min.js*.js.map个文件。这是错误的做法吗?

4 个答案:

答案 0 :(得分:7)

这是一个众所周知的问题,即Connect反馈文章SelectSingleNode。这些文件是IDE的毒药,与is here相比。

很难补充,除了不将它们添加到您的项目之外,文章中提出的解决方法显而易见。只要您需要来搜索这些文件,您肯定希望使用它们的非最小化版本。

答案 1 :(得分:2)

在查找选项中,展开"结果选项" (Alt + S)并启用"仅显示文件名"。文件的内容不会显示在查找结果中,一切都会快得多。您仍然可以在查找结果中双击文件名,以转到该文件中匹配项的确切位置。

答案 2 :(得分:1)

这个问题是针对每个人发生的,还是仅针对特定的机器?是否有任何Visual Studio扩展可能会减慢搜索速度?您可以尝试暂时禁用所有扩展程序,看看是否有同样的问题。

否则,我同意在解决方案/项目中包含.min.js和.map文件无论如何都不理想。

我的建议是使用Bower来管理您的第三方客户端库依赖项。他们说使用正确的工具来完成工作,在这种情况下,它现在是Bower。

Bower支持已融入Visual Studio 2015.以下是一些在Visual Studio 2015中使用Bower的Microsoft文档: http://docs.asp.net/en/latest/client-side/bower.html

使用Bower安装Kendo的文档:http://docs.telerik.com/kendo-ui/install/bower

现在,默认情况下会将这些供应商库放在项目根目录下的bower_components文件夹中。然后,您不会在项目中或源代码管理中包含此文件夹(但bower.json和可选的.bowerrc将进入源代码管理)。

这可以缓解您在VS2013中的问题,但在2015年,在文件中查找仍将搜索bower_components。因此,最好的办法是尝试缩小减速的来源。

使用Bower可能会影响您的开发和构建过程,因此您可能希望避免这种情况,如果这会迫使您进行其他更改,而您尚未定位。

答案 3 :(得分:0)

您可以检查以尝试帮助解决此问题的一件事是在您的gruntfile的minify任务中,确保mangle属性设置为false。 Mangle将变量名称更改为真正的短名称,因此有时会破坏使用这些缩小文件中的变量的其他文件,并且可能发生其他错误。我不确定为什么visual studio会崩溃或者无法处理搜索不存在的字符串,但这是需要考虑的事情。