Hier ist Filter meines Projekts in Visual Studio, das im Projektmappen-Explorer angezeigt wird: -
%Vor%(Im echten Fall enthalten alle Filter viele Sub-Sub-Filter und Dateien.)
Gewusst wie:
.h
und .cpp
Dateien ( B
und C
) in myFilter02
auf ProjectName2
's Ordner (z. B. D:\ProjectName2
) C
muss immer noch in subFilter2_1\subFilter2_2
sein) O(1)
Hier ist das erwartete Ergebnis: -
%Vor%Es kann manuell für jeden Sub-Sub-Sub-Filter gemacht werden + bestehende Dateien hinzufügen, aber es ist sehr mühsam.
Ich habe versucht, mit der rechten Maustaste auf den Filter / die Dateien zu klicken, habe diese Funktion aber nicht gefunden.
Ich verwende derzeit keine Quellcodeverwaltung / Repository von Microsoft (nur für den Fall, dass es verwandt ist).
Hinweis: Der normale Drag & amp; Drop auf Filter Verschieben Sie die Dateien nicht in den Ordner eines anderen Projekts .
Es macht die verschobenen Dateien nur zu einer Verknüpfung des ursprünglichen Speicherorts ( D:\ProjectName1\
).
Schnelltaste? Plugin? Skript?
Muss ich wirklich ein Programm erstellen, um diese spezifische Sache zu tun?
Ein paar Tage nach der Frage, ich habe es mit C ++ mit RapidXML ~ 500-1000 Zeilen codiert.
Ich muss .vcxproj.filters
und .vcxproj
beider Projekte bearbeiten und einige Systemdateien verschieben.
Ich finde jedoch immer noch keine Antwort auf die Frage.
(Nach erhalten von Hans Passant und Prab beraten, danke!)
Ich möchte aus folgenden Gründen einen Filter anstelle eines Ordners verwenden: -
#include "../myFilter01/K.h"
nicht verlängern oder zusätzliche Include-Verzeichnisse für jeden Ordner hinzufügen. Ich kann einfach #include "K.h"
. =◆██myFilter01██◆=
für Filter, aber nicht für Ordner. Es ist mein Geschmack. Ich möchte nicht
.cpp/.h
-Dateien manuell zu verschieben, erleide ich die oben genannten Nachteile. Zusammenfassend führt die Verwendung von Ordner anstelle von Filter zu mehr neuen Problemen als die Lösung.
Es ist keine Ein-Klick-Lösung, aber es könnte schneller als manuell durchgeführt werden.
Finden Sie heraus, welche Datei kopiert werden muss. Um dies zu tun, verschiebt Filter von einem Projekt zum anderen. Wechseln Sie dann in die Verzeichnisansicht (alle Dateien anzeigen) für das erste Projekt und kopieren Sie die Dateien mit dem kleinen roten Indikator (Dateien, die nicht im Projekt enthalten sind). Kehren Sie jetzt zur Filteransicht für das Projekt zurück und verschieben Sie die Filter zurück zum ersten Projekt. Danach wechseln Sie beide Projekte in die Verzeichnisansicht und geben das zweite Projekt weiter.
Jetzt müssen wir korrekte Filter erstellen. Verschieben Sie Dateien aus Quell- und Headerfilter in andere Filter im zweiten Projekt. Entladen Sie beide Projekte. Öffnen Sie das erste und das zweite Projekt .filters files kopieren von der ersten Datei in die Sekunde aller Filter-Tags außer "Source Files", "Header Files", "Resource Files". Als Nächstes aus der zweiten Datei entfernen Sie alle Tags, die mit Source oder Header gestartet wurden. Ab der zweiten ItemGroup kopieren Sie den gesamten Inhalt und übergeben ihn an die zweite ItemGroup. Speichere die zweite Datei.
In diesem Punkt sollten Sie eine Kopie des ersten Projektfilterbaums haben, ohne unnötige Dateien, verschieben Sie jetzt einfach, was Sie korrigieren möchten.
Es ist hilfreich, einen einzelnen Baum im ersten Projekt zu erstellen.
Tags und Links c++ visual-studio