Вопрос

Хорошо, я разрабатываю приложение, которое практически постоянно разрабатывалось в течение последних 16 лет, от C в DOS до различных разновидностей C++, и теперь в основном основано на C++ с графическими интерфейсами MFC, StingRay и различными другими SDK.

Хотя я использую VS 2005 для выпускных сборок, я по-прежнему использую MSVC 6 для большей части построения графического интерфейса просто потому, что ClassWizard в этой среде работает намного быстрее, чем последующие слабые эквивалентные инструменты.Обратите внимание, что я использую ClassWizard для автоматического создания кода для моих собственных пользовательских типов (см. Пользовательские DDX), и мне нравится добавлять множество переменных-членов и методов за один раз.Создание их по одному, как в более поздних версиях Visual Studio, для меня — большой шаг назад.В то же время работа с несколькими IDE — это тоже боль.

Мой вопрос состоит из двух частей;

  1. Есть ли способ заставить ClassWizard работать с VS 2005 или VS 2008?

  2. Есть ли какая-нибудь замена или альтернативная IDE, которая обеспечивает аналогичный уровень производительности для старых хаков C++, таких как я?

Это было полезно?

Решение

Продолжение для тех, кому интересно.ClassWizard может быть повторно представлен в VS2010 от Тарека Мадкура [команда VC++]

«Мы рассматриваем вопрос о добавлении мастера класса обратно в VS10.Мы надеемся, что это сделает создание функции DDX/DDV более ориентированным на клавиатуру, как это было в VC6.Есть некоторые проблемы с расписанием, которые нам нужно будет преодолеть, чтобы выполнить эту функцию, но я оптимистичен, что вы увидите ее, когда мы отправим VS10 ».

Нажмите здесь для полного обсуждения

Редактировать:А примечания к выпуску для VS2010 подтвердите, что мастер классов MFC вернулся.Итак, вопреки распространенному мнению, ребята из MS прислушиваются к своим пользователям.

Visual Studio 2010 предоставляет опыт C ++ IDE, который включает в себя возврат мастера класса MFC, возможность просматривать большие исходные файлы с помощью источника, интегрированного быстрого поиска, чтобы найти информацию без путаницы текущего метода «Найти в файлах» и легко Расширяемая модель IDE через новую структуру управляемой расширяемости (MEF).

Другие советы

Согласен с Шейном, альтернатива CW в vs2008 шокирующе плоха;это заставляет задуматься, использует ли кто-нибудь в Microsoft еще MFC.Я начал завышать свои оценки только из-за плохой интеграции afx/mfc.Просто он не доделан и то что там довольно глючно.Конечно, вы можете ввести код вручную, никто не утверждает, что это сложно, но если серьезно, это грубый код, это 2010 год, вам просто больше не следует писать этот материал вручную.

Я предлагаю вообще избегать генерации кода и использовать ваш любимый редактор для создания нового кода вручную.Если я правильно понимаю, вы являетесь экспертом в этой области, и я уверен, что вы знаете, что код, созданный вручную, будет намного чище и проще, чем сгенерированный.
Кроме того, генератор кода — это кошмар для проверки кода, он меняет миллионы мест, которые вообще не следует менять, и действительно сложно сконцентрироваться на значимых изменениях.
ИМХО.

Я бы также посоветовал вам вручную добавить необходимые макросы DDX/DDV (а также обработку сообщений) (и переменные-члены) в ваши классы.Поначалу кажется немного сложным разобраться, как и где именно следует вносить записи, но через некоторое время это становится довольно легко.Я начал делать это после переноса проекта VC6 на VS2005 и по той же причине, которую вы указали:подходящей замены ClassWizard нет.Однако спустя два года я могу сказать, что больше не скучаю по нему.

Вы можете написать щелчок по элементам управления в форме и добавить переменную или обработчик событий.Это не так хорошо, как VC6, но все же.Я не вижу смысла писать DDX вручную.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top