DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VS2003のコードエディタがおかしくなる件

  • 題名: VS2003のコードエディタがおかしくなる件
  • 著者: yama2003
  • 日時: 2007/12/13 14:02:42
  • ID: 21135
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[Windows2000,VS2003,.NET Framework1.1]
分類:[.NET]

VS2003のコードエディタがおかしくなる件で
以前こういう記事をお見掛け見たのですが

> 題名: VB.NET開発環境について質問
> 著者: nam
> 日時: 2006/03/06 15:46:16
> ID: 15440
> この記事の返信元:
> (なし)
> この記事への返信:
> [15467] Re[1]: VB.NET開発環境について質問 るしぇ 2006/03/07 17:58:01
> ツリーを表示
> 環境/言語:[VB.NET WindowsXp SP2]
> 分類:[.NET]
> いつもお世話になってます。
> 早速質問なのですが、私の使用しているVS2003は起動してからしばらくたつと
> 入力支援(?)や自動インデントをしてくれなくなります。
> さらにこの状態だと[元に戻す]ができなくなっています。
> インストールに失敗しているのでしょうか?
> こういった状態になった時の回避策ってあるんでしょうか?
> わかりづらくて申し訳ありませんがよろしくお願いします。

私のところでもこの現象が発生し解決策を探していたときに上記の記事を見つけ
参考にさせていただきました。

しかし、上記記事は未解決で終わっており有効な対応方法はなさそうでしたので
いろいろ試してみて解決する方法を発見しましたので投稿させていただこうと思いました。

最初にやり方だけ書いてしまうと
画面中央のコード編集/デザイン編集エリア(なんて言うウインドウか知りませんが…)で
開いているフォームのデザインモード画面、コードエディタ画面も全部一旦閉じてしまい
もう一度、編集したいコード部分だけを開きなおすとコードエディタが復活するようです。

--- ↓以下究明のメモのようなものです。 ------------------------------------------

現象としては VisualStudio2003 で
入力支援が効かなくなる/UNDOできなくなる/オートインデントしてくれなくなる
というようなコード編集画面での便利機能がほぼ動作しなくなるといった具合で
割とたくさんのソースが含まれる大きいプロジェクトファイルで
1本のフォームにたくさん(200〜400くらい?正確な数は分かりません)コントロールを
乗せてあり、そのフォームのソースコードが長い(5000〜8000行くらい)のものがあると
この現象が起きやすい。

現象が現象の発生する手順としては問題のフォーム(コントロール、コードがたくさん乗っている)を
デザインモードで開きコントロールのプロパティを変更する or 移動などを行った後
ソースコードの編集に移行すると発生する。

この現象を回避する方法としてとってみた方法。
・対象のソリューションを開きなおす。…コードエディタ復活!
・フォーム上のコントロールを減らしてみる…ダメ
・フォームのソースファイルを短くしてみる…ダメ
・フォームのソースファイルのイベントなど無視してとにかくコードを全部削除してみた…ダメ
・参照設定を少なくしてみる…ダメ
・プロジェクト中のアイコンや画像リソースをなくす…ダメ
・プロジェクト中のほかのフォーム、コードを全部プロジェクトから削除にしてみる…ダメ(あれ?)
・問題のフォーム以外のフォーム、コードを全部なくした上で
 コントロールを全部消してソースファイルのイベントなど無視してコードの全部削除…ダメ(あれ?)

プロジェクトファイルか何か大元の管理部分が壊れているみたいな感じ?
試しに別のプロジェクトを1個作って問題のフォームをインポートして
「デザインー>プロパティ変更」コード編集画面で入力支援を試したところOKでした。

その後、別プロジェクトファイルを作成して
問題のプロジェクトファイルの中身をそっくりインポートしてみまて
参照設定などをそのまま同じにそろえてみました。
 …でもダメ

いっそのことと思い別のソリューションを作って
先ほどのプロジェクトをインポートしても
 …やはりダメ

で、いろいろまた試していると
なにかの弾みでコードエディタの機能が回復しました。

その方法は、問題のフォームのデザインモード画面もコードエディタ画面も
一旦閉じてしまっても、う一度コード部分だけを開きなおすというものでした。

DOBON.NET | プログラミング道 | プログラミング掲示板