I'm doing development on my new machine for the first time today.  Our project is running .NET 1.1, which means we must use Visual Studio.NET 2003.  Less than 2 minutes into my coding, I realized I forgot to make an imperative fix to Studio.

Out of the box, VS.NET 2003 doesn't provide good IntelliSense inside PlaceHolder controls.  I don't know why this was overlooked and never fixed, but oh well.  The fix is easy though:

  1. Open "C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml\asp.xsd" in Notepad++
    1. Warning: Don't let this file open in VS.NET as it usually crashes while trying to render in the XSD designer, which is the default mode for opening XSD files.
  2. Search for "Panel" which takes you to line 1298
    Panel IntelliSense
  3. Copy everything from <xsd:choice> to </xsd:choice> to the clipboard
  4. Immediately below this tag, you'll find the PlaceHolder definition
    PlaceHolder IntelliSense  
  5. Paste the <xsd:choice> stuff immediately inside the <xsd:complexType> tag, giving this result:
    Updated PlaceHolder IntelliSense
  6. Save the file
  7. Restart VS.NET

Or, if you'd like, you can just overwrite your asp.xsd file with mine.