Поиск в Visual Studio 2013, 2015 зависает, когда результаты отображаются в мини файлах (одна длинная строка)

У нас есть веб-проект с 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, включенные в сам проект. Это неправильный подход?

Ответы

Ответ 1

Это хорошо известная проблема, здесь приведена ссылка на ссылку . Эти файлы являются ядовитыми таблетками для IDE, сравниваются с этим Q + A.

Мало что добавить, помимо того, что вы не добавляете их в свой проект, предлагаемое обходное решение в статье является очевидным. И пока вам нужно искать эти файлы, вы наверняка захотите работать с не-минимизированными версиями.

Ответ 2

Возникает ли эта проблема для всех или только на определенных машинах? Существуют ли расширения Visual Studio, которые могут замедлять поиск? Вы можете попытаться временно отключить все расширения и посмотреть, есть ли у вас такая же проблема.

В противном случае я бы согласился, что включение файлов .min.js и .map в решении/проекте в любом случае не является идеальным.

Моя рекомендация - использовать Bower для управления зависимостями библиотеки сторонней клиентской библиотеки. Говорят, что они используют правильный инструмент для работы, и в этом случае он сейчас Bower.

Поддержка Bower используется в Visual Studio 2015. Здесь некоторые документы Microsoft по использованию Bower в Visual Studio 2015: http://docs.asp.net/en/latest/client-side/bower.html

Документы для установки Kendo с использованием Bower: http://docs.telerik.com/kendo-ui/install/bower

Теперь это по умолчанию помещает эти библиотеки поставщиков в папку bower_components под корнем проекта. Тогда вы не включили бы эту папку в свой проект или в исходный элемент управления (но bower.json и факультативный .bowerrc попали бы в исходное управление).

Это должно облегчить вашу проблему в VS2013, но в 2015 году Find in Files по-прежнему будет искать параметры bower_components. Поэтому лучше всего попытаться сузить источник замедления.

Использование Bower потенциально влияет на процесс разработки и сборки, поэтому вы можете избежать этого, если это заставит вашу руку внести другие изменения, пока вы не располагаете.

Ответ 3

В параметрах "Поиск" разверните "Параметры результата" (Alt + S) и включите "Отображать только имена файлов". Содержимое файлов не будет отображаться в результатах поиска, и все будет намного быстрее. Вы также можете дважды щелкнуть имя файла в результатах поиска, чтобы перейти к точному местоположению совпадения в этом файле.

Ответ 4

Одна вещь, которую вы можете проверить, чтобы попытаться решить эту проблему, находится в вашей задаче gruntfile minify, убедитесь, что для свойства mangle установлено значение false. Mangle изменяет имена переменных на действительно короткие имена, поэтому иногда это может испортить ваши другие файлы, в которых используются переменные из этих мини файлов, и могут возникать другие ошибки. Я не уверен, почему визуальная студия выходит из строя или не сможет обработать поиск строки, которая не существует, но это что-то рассмотреть.