6

コード生成を多用するプロジェクトに取り組んでいます。生成されるファイルの一部には、25 万行を超えるコードが含まれています。VS (2K5) の対応はそれほど悪くはありませんが、R# (4.01) は 2 分ごとにメモリ不足の例外をスローします。

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

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

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

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

4

8 に答える 8

6

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

于 2008-10-16T10:02:41.587 に答える
3

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

于 2008-10-16T15:15:15.793 に答える
2

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

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

于 2008-10-16T09:29:01.530 に答える
2

おお!

250 000 行のコード?

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

デザイン パターンは、この ind に対処するために作成されました。小さく始めてリファクタリングし、さらに深く掘り下げてより多くの DP を適用し始めます。

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

于 2008-10-16T09:26:21.630 に答える
1

ビジュアルスタジオを使用しないでください。VS で行われていることが多すぎます。

ファイルは読み取り専用であるため、IDE 機能 (Intellisense、リファクタリング ツール、書式設定) を使用することはありません。

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

于 2008-10-16T15:32:41.577 に答える
1

Visual Studio で編集するためにファイルを開くときに問題が発生しますか? VS エディターは、大きなファイルでは非常に遅く、非効率的であることに気付きました。また、特定のオプションをオフにすることもできます。たとえば、ワードラップによって何らかの理由でマシンが強制終了されます。

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

于 2008-10-16T12:10:30.767 に答える
0

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

于 2008-10-16T09:34:26.760 に答える
0

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

于 2008-10-16T09:25:43.487 に答える