Классический ASP intellisense, как вы заметили, не работает в VS2008. Microsoft фактически полностью прекратила поддержку цветовой подсветки синтаксиса Classic и intellisense в RTM VS2008, а затем восстановила ее в SP1 из-за протестов клиентов. Посмотрите этот отчет об ошибке на сайте Microsoft Connect для получения дополнительной информации о том, как он был восстановлен.
В любом случае, позвольте мне подробно рассказать, как именно он сломался. То, что вы видите, на самом деле не является VB intellisense - вместо этого вы видите методы и объекты, присутствующие в любом из следующего:
- объект отклика на стороне сервера иногда другие объекты на стороне сервера, такие как Session или Request, как если бы перед любым из вашего кода существовал оператор javascript «with» для этих объектов. это не имеет смысла-- это ошибка в VS.
- объект окна на стороне клиента (!!!!). Это не имеет смысла, так как это серверный скрипт. это ошибка в VS.
- ключевые слова javascript и глобальные объекты, такие как String. Это ожидаемо (хотя, если вы определяете свой сценарий с помощью runat = server, он работает более надежно - если я определяю сценарий с помощью <%%>, я часто не получаю правильное ключевое слово intellisense.
Обратите внимание, что ни один из них не является VB Intellisense - то, что вы видите, это просто методы PascalCased допустимых встроенных методов объектов Request, Response и т. Д., Встроенных в объектную модель сценария на стороне сервера Classic ASP.
Неожиданно я обнаружил, что intellisense работает гораздо более естественно в блоках runat = server script, чем в <%%> блоках. По крайней мере, с runat = server я получаю intellisense для ввода "Request.", "Response." И т. Д., А также ключевое слово jscript intellisense, похоже, также работает лучше в этих блоках.
Существуют и другие причуды в intellisense, например, когда у вас есть блок сценария <%%>, когда вы набираете символ, этот символ игнорируется в списке вариантов выбора intellisense, которые вы возвращаете. (это также лучше работает в runat = серверных блоках)
Другими словами, все это очень сломано. У меня нет внутренней информации о том, почему он так отключен, кроме этой функции, которая устарела в VS2008, возвращена в виде пакета обновления и, вероятно, имеет гораздо меньше тестов, чем другие части VS - поэтому неудивительно, что она сломана. Особенно, если учесть, что он поддерживает функцию классического ASP, от которой Microsoft, вероятно, захочет отказаться. Это не означает, что Redmontonians активно пытаются саботировать это, но в команде с ограниченными ресурсами классическая работа ASP великолепна, вероятно, не будет привлекать такой же уровень внимания, как, например, ASP.NET MVC.
Тем не менее, ИМХО, даже эта ограниченная поддержка лучше, чем была в VS2008 RTM, когда классические ASP-файлы выглядели как блокнот, без всякой интеллигентности или синтаксической раскраски.
Если вы недовольны таким плачевным положением дел, я бы посоветовал подать отчет об ошибке на https://connect.microsoft.com/VisualStudio. Так же, как отчет об ошибках заставил Microsoft восстановить классический ASP intellisense в VS2008 SP1, он может получить их исправить это для SP2 и / или VS2010. Вы также можете проверить последнюю бета-версию VS2010, чтобы убедиться, что проблема исправлена или хуже.
Извините, если это не тот ответ, на который вы надеялись. : - (