Как лучше всего обращаться с гигантскими файлами исходного кода в Visual Studio

StackOverflow https://stackoverflow.com/questions/207902

Вопрос

Я работаю над проектом, в котором существенно используется генерация кода.Некоторые из генерируемых им файлов содержат >0,25 миллиона строк кода.VS (2K5) справляется не так уж и плохо, но R# (4.01) выдает исключение нехватки памяти каждые две минуты или около того.

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

Есть ли какие-нибудь хитрые приемы IDE, чтобы справиться с этим?

РЕДАКТИРОВАТЬ:поэтому люди сразу же говорят (очень разумно) «не делайте такого большого файла» и предлагают способы разбить его на файлы меньшего размера.

Это нормально, но я выполняю ограниченную по времени задачу, оглядываюсь вокруг и решаю, что оптимизировать.Моя проблема заключается в том, «как без боли просмотреть безумно большой файл в IDE», а не «как провести рефакторинг проекта».Для целей вопроса, пожалуйста, представьте, что файл доступен только для чтения.:)

Это было полезно?

Решение

Похоже, проблема в этом инструменте R# (это Resharper?).Можете ли вы отключить его?В противном случае изменение типа файла для сгенерированного кода может иметь смысл — предположительно, вы не собираетесь выполнять серьезное редактирование этих файлов, поэтому потеря окраски синтаксиса и других функций, специфичных для исходных файлов, не будет проблемой.

Другие советы

Я бы хотя бы изменил расширение огромных файлов на что-то вроде .cpp_gen или .cpp_huge удалить подсветку синтаксиса, выделение и т. д.а затем переназначьте инструмент сборки обратно на Инструмент компилятора C/C++ для них.

УХ ТЫ!

250 000 строк кода?

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

Шаблоны проектирования были созданы для решения этой проблемы: попробуйте начать с малого, рефакторинг, затем углубитесь и начните применять больше D.P.

у вас будет все меньше и меньше строк кода, и да, один из лучших приемов — разделить на несколько файлов в соответствии с предложением.

Предполагая, что вы не редактируете сгенерированный код вручную.(=ПЛОХАЯ ИДЕЯ!!)

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

Проблема в том, что вы открываете файл для редактирования в Visual Studio?Я заметил, что редактор VS может работать довольно медленно и неэффективно при работе с большими файлами.Кроме того, вы можете попробовать отключить определенные параметры, например.перенос слов по какой-то причине убивает мою машину.

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

Не используйте визуальную студию.В VS слишком много всего происходит.

Поскольку файл доступен только для чтения, вы не будете использовать какие-либо функции IDE (Intellisense, инструменты рефакторинга, форматирование).

Вероятно, вы добьетесь большей производительности, используя более простое приложение, например Notepad++, для простого просмотра файла.Notepad++ выделит стандартную языковую подсветку, если вам нравится цвет.

Разве вы не можете разбить файлы и использовать препроцессор, чтобы собрать их вместе при компиляции?

Должна быть возможность каким-то образом сгруппировать большие фрагменты этих файлов в отдельные библиотеки.Затем вы разделите их на несколько проектов.Пробовали это?Какова текущая структура вашего исходного кода/проекта?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top