Автоматически помещать файлы в папку / scripts в Visual Studio 2005 - PullRequest
3 голосов
/ 10 августа 2010

Я настроил несколько фильтров в своем проекте, чтобы помочь найти файлы. Но все мои файлы исходного кода на самом деле просто помещаются в две папки, source / headers ... фильтры предназначены только для организации Visual Studio, но я хотел, чтобы структура каталогов была простой для построения в других компиляторах.

В любом случае, всякий раз, когда я добавляю новый элемент или класс, файлы попадают в мою папку / scripts, и мне приходится их перемещать. Есть ли конкретный проект, чтобы изменить это, мне надоело это делать!?

Ответы [ 4 ]

1 голос
/ 24 августа 2010

Если щелкнуть правой кнопкой мыши фильтр и выбрать «Свойства», в правой части экрана откроется окно.У вас будет поле с именем Filter, которое содержит расширения, поддерживаемые текущим фильтром (например, для include: h; hpp; hxx; hm; inl; inc)

Возможно, у вашего фильтра Scripts есть проблемы на этой стороне.

0 голосов
/ 23 августа 2010

Это невозможно из коробки в Visual Studio 2005.

Такие вещи, как способность быть независимым от системы проекта и изменение его версии для каждого нового выпуска, открывают возможность для перекрестногоСоздание платформы - это все причины, по которым я переключился на CMake , чтобы программно генерировать проекты и решения моего проекта.Мы собираем то, что имеем на диске, и все фильтры в проектах воссоздаются на основе того, что находится на диске.

Не оглядываясь назад.

Конечно, это еще один инструментс кривой обучения, но использование скриптового движка в среде сборки открывает множество возможностей.

0 голосов
/ 24 августа 2010

Не могли бы вы уточнить: у вас есть папка скриптов или фильтр скриптов?VS должен по умолчанию помещать новые файлы в фильтр Header Files / Source Files, это происходит?

Возможно, вы сможете автоматизировать перемещение ваших файлов с помощью макросов:

DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("{original filename including filter}").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("Edit.Cut")
DTE.ActiveWindow.Object.GetItem({target filter}).Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("Edit.Paste")

Код, подобный этомуможет выполняться при добавлении файлов: Как: обрабатывать события с помощью макросов

0 голосов
/ 22 августа 2010

Нет такой опции, которая бы делала все автоматически для вас.Однако при добавлении нового элемента вы можете щелкнуть правой кнопкой мыши нужный фильтр, выбрать «Добавить» -> «Новый элемент».В открывшемся диалоговом окне вы можете изменить путь, по которому будет создан файл.После подтверждения диалога у вас будет файл как в правильном фильтре, так и в правильной папке.

...