Как лучше всего работать с гигантскими файлами исходного кода в Visual Studio - PullRequest
4 голосов
/ 16 октября 2008

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

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

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

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

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

Ответы [ 8 ]

5 голосов
/ 16 октября 2008

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

3 голосов
/ 16 октября 2008

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

2 голосов
/ 16 октября 2008

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

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

2 голосов
/ 16 октября 2008

WOW!

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

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

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

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

1 голос
/ 16 октября 2008

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

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

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

1 голос
/ 16 октября 2008

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

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

0 голосов
/ 16 октября 2008

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

0 голосов
/ 16 октября 2008

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

...