質問

私は、コード生成を大幅に活用するプロジェクトに取り組んでいます。生成されるファイルの一部には> 0.25,000,000行のコードが含まれています。 VS(2K5)はそれほどうまく対処しませんが、R#(4.01)は2分ごとにメモリ不足例外をスローします。

それらを部分的なクラス/個別のファイルに分割することは、当面のオプションではありませんが、後で行われる可能性があります。

これに対処するための巧妙なIDEのトリックはありますか?

編集:そのため、人々はすぐに(非常に賢明に)「それほど大きなファイルを持っていない」と言って、それを小さなファイルに分割する方法を提案しています。

それで構いませんが、タイムボックス化されたタスクを見て回って、最適化するものを決定しています。私の問題は、「プロジェクトをリファクタリングする方法」ではなく、「IDEで非常に大きなファイルを苦痛なく表示する方法」です。質問の目的で、ファイルが読み取り専用であることを想像してください。 :)

役に立ちましたか?

解決

このR#ツール(Resharper?)が問題のようです。無効にできますか? そうでなければ、生成されたコードのファイルタイプを変更することは理にかなっているかもしれません-おそらく、それらのファイルを大幅に編集することはないので、構文の色付けやソースファイルに固有の他の機能を失うことは問題になりません。

他のヒント

少なくとも、巨大なファイルの拡張子を .cpp_gen .cpp_huge のようなものに変更して、構文の強調表示やアウトラインなどを削除してから、ビルドツールを C / C ++コンパイラツール

WOW!

250 000行のコード?

機械の視点ではなく、人間の視点で考える必要があります。そのコードを他の誰かに渡したいとしましょう。コードが何をするのかを見る時間を見ることができますか?

このindに対処するためにデザインパターンが作成されました。小さなものから始めてリファクタリングし、さらに深くしてより多くのD.P.

コードの行数はますます少なくなります。はい、最善の策の1つは、提案に従って複数のファイルに分割することです。

生成されたコードを手動で編集していないと仮定します。 (=悪いアイデア!!)

コマンドラインからコンパイルした別のソリューションに生成されたファイルを配置し、作業中のプロジェクトからそれらのdllを参照できます。

Visual Studioで編集用にファイルを開くと問題がありますか? VSエディターは大きなファイルでは非常に遅く、非効率的であることに気付きました。また、特定のオプションをオフにすることもできます。ワードラップは何らかの理由でマシンを殺します。

それ以外の場合は、問題のある大きなソースファイルを編集するために構文強調表示がインストールされたTextpadなどを使用できます。

Visual Studioは使用しないでください。 VSであまりにも多くのことが行われています。

ファイルは読み取り専用なので、IDEの機能(Intellisense、リファクタリングツール、フォーマット)を使用することはありません。

単純にファイルを表示するためのnotepad ++などの単純なアプリケーションを使用すると、おそらくパフォーマンスが向上します。 Notepad ++は、色が好きな場合に標準言語の強調表示を行います。

コンパイル時にファイルを分割し、プリプロセッサを使用して元に戻すことはできませんか?

これらのファイルの大きなチャンクを別々のライブラリにグループ化することが何らかの方法で可能でなければなりません。その後、それらをいくつかのプロジェクトに分けます。これを試しましたか?ソースコード/プロジェクトの現在の構造はどのようなものですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top