none
VS 2013: Wie Dateien bei Suche ausschließen RRS feed

  • Frage

  • Ich habe ein relativ komplexes Projekt, das eine MySQL Datenbank nutzt. Das DB-Schema wird in einer sehr großen .xsd-Datei abgebildet, die vom "Assistenten zum Konfigurieren von Datenquellen" erzeugt wird und mehr all 6000 Codezeilen hat.

    Mein Problem ist, dass wenn ich z.B. die Verwendung einer Tabelle in meinem Code mit der Suchfunktion auffinden will, dass die Suche erst hunderte Vorkommen des Tabellennamens in dem generierten Code findet, bevor mein Benutzercode durchsucht wird und die eigentlich erwünschten Ergebnisse angezeigt werden.

    Gibt es eine einfache Möglichkeit, Dateien aus der Suche auszuschließen? Als Gegenteil von einfach meine ich, dass ich nicht jedes Mal vor einer Suche eine Datei aus dem Projekt ausschließen und nach der Suche wieder ins Projekt aufnehmen möchte...

    Danke für eure Antworten

    LG Peter

    Dienstag, 5. Januar 2016 07:39

Antworten

Alle Antworten

  • Hallo Peter,

    bringt Dir vielleicht die Option  Suchen in:"Alle geöffneten Dokumente" etwas?

    Dann müssten Deine zu durchsuchende Dateien in der IDE geöffnet sein. Bei mir passt das oftmals ganz gut.

    Grüße

    Roland


    • Bearbeitet Roland Franz Dienstag, 5. Januar 2016 09:56 Tippfehler beseitigt.
    Dienstag, 5. Januar 2016 09:56
  • Danke, Roland! Wenn ich eine leise Ahnung habe, wo der Suchbegriff vorkommen könnte, dann ist das ein gangbarer Weg. Nur - wenn ich im ganzen Projekt mit rund 200 Modulen suchen will, dann fällt das nimmer unter "einfach"...

    Es ärgert mich, dass eine der wichtigsten Funktionen bei der Software-Entwicklung, nämlich das Suchen im Code, mit der Zeit im VS immer schlechter wird statt besser (früher gab es meiner Erinnerung nach wesentlich mehr Optionen, die Regex-Suche hält sich mittlerweile an keine Standards mehr, die Doku dazu ist nicht einmal mehr lächerlich, etc.) und dass solche wichtigen Funktionen, wie das Ausschließen von maschinengeneriertem Code aus der Suche nicht möglich zu sein scheinen!

    Na, vielleicht hat noch jemand einen Geheimtipp, denn ich kann mir nicht vorstellen, dass noch kein Entwickler außer mir die Nerven geschmissen hat, wenn ihm sinnlose Suchergebnisse aus 6000 generierten Codezeilen präsentiert werden, bevor das kommt, was er tatsächlich braucht. Was habt ihr alle für Projekte, dass der Auftraggeber DAS zu zahlen gewillt ist?? ;-(

    Dienstag, 5. Januar 2016 12:55
  • Also es scheint hier tatsächlich niemand eine Idee zu haben, wie man im Visual Studio effizient arbeiten kann, oder es schaut hier niemand hinein... Ich werde is noch auf StackExchange probieren, ich kann einfach nicht glauben, dass das nicht gehen soll!
    Mittwoch, 6. Januar 2016 07:15
  • Hallo Peter,

    in Deinem Fall könnte es noch einen Vorteil bringen die Dateitypen einzuschränken.

    Wenn Du in Deinem Fall die Dateitypen "*.xsd" weglässt, sollte ein Großteil des generierten Codes ausgespart werden.

    Grüße

    Roland

    Mittwoch, 6. Januar 2016 08:47
  • Danke Roland, die Idee ist gut. Genau darum geht es: ich arbeite in der IDE im Code, möchte etwas nachschauen mit Bezug auf die Datenbanktabelle "Kassabewegungen", drücke Strg+F und gebe den Suchbegriff ein und wähle "Aktuelles Projekt" für den Bereich der Suche. Wie kann ich nun die .xsd von der Suche ausschließen? In dem geschilderten Szenario spamt mich die Suche mit hunderten Suchergebnissen aus der .xsd Datei zu, die ich nicht programmiert habe, die ich mich daher hüten werde zu verändern und die daher in der Suche sinnlos sind.
    Mittwoch, 6. Januar 2016 09:19
  • Das geht über "in Dateien suchen" Strg+Umschalt+F

    In diesem Dialog werden in einer Combobox Vorschläge für Dateitypen gemacht, die auch verändert werden können.

    Grüße

    Roland

    Mittwoch, 6. Januar 2016 10:13
  • In diesem Dialog habe ich folgende Möglichkeiten:

    "Suche in:", das ist im Wesentlichen das selbe wie im interaktiven Dialog, also "Aktuelles Fenster | Alle geöffneten Dokumente | Gesamte Projektmappe..."

    "Nach diesen Dateitypen suchen:", hier kann ich zwar Dateitypen ein-, jedoch nicht ausschließen, d.h. wenn ich hier eingebe "*.vb" für meinen Sourcecode, bekomme ich auch die hunderte sinnloser Ergebnisse aus *.Designer.vb", die niemand braucht.

    Es wäre so einfach für MS - und eigentlich auch zwingend logisch - diese Bedingung umgekehrt oder zumindest umkehrbar zu machen, also "Nach diesen Dateitypen NICHT suchen"! Weil "Gesamte Projekmappe" impliziert ja schon "alle Dateien"...


    • Bearbeitet Peter_SkAt Mittwoch, 6. Januar 2016 11:01 Tippfehler
    Mittwoch, 6. Januar 2016 10:59
  • ja ausschliessen musst Du indem Du aus der vorgegebenen Liste, den Eintrag entfernst, den Du nicht in die Suche aufnehmen willst.

    Bei mir wird z.B. in einem Eintrag :

    *.vb;*.resx;*.xsd;*.wsdl;*.htm;*.html;*.aspx;*.ascx;*.asmx;*.svc;*.asax;*.config;*.asp;*.asa;*.css;*.xml

    vorgeschlagen. Daraus entferne ich alle Endungen, die nicht durchsucht werden sollen.

    In Deinem Beispiel bleibt nur ein unschöner Punkt, dass natürlich auch in den vom Designer erzeugten VB  Dateien gesucht wird. (Ich gehe nach Deinem letzten Post davon aus, dass Du in VB.NET entwickelst)

    Mittwoch, 6. Januar 2016 11:08
  • Ja, danke Roland! Das ist genau der Punkt, MS müsste die Funktionalität so erweitern, dass diese Dateien exkludiert werden können, nur so kann man damit sinnvoll arbeiten.

    Das derzeitige Projekt ist in VB und es benutzt eine Datenbank mit knapp 100 DB-Objekten, also Tabellen, Views und Stored Procedures, d.h. die generierten Dateien (.xsd und .Designer.vb) haben weit mehr Code als das, was ich geschrieben habe.

    Es ist aber egal, in welcher Sprache ich arbeite, es gibt auf dem Level der Dateiendung allein keine Möglichkeit, zwischen geschriebenem und generiertem Code zu unterscheiden und damit ist diese Option in diesem Zusammenhang unbrauchbar.

    In knapp 40 jahren SW-Entwicklung habe ich die Erfahrung gemacht, dass die Mächtigkeit der Suchfunktion  einen sehr großen Anteil an der Effizienz hat, mit der man mit einem Tool arbeiten kann. Ich frage mich schön langsam, mit welchem Tool die MS-Entwickler wohl arbeiten...

    Mittwoch, 6. Januar 2016 11:44
  • Auch dafür gibt es eine Lösung:

    In den Ergebnisoptionen kann man das Ausgabefenster angeben, und dabei "Nur Dateinamen anzeigen" auswählen.

    Da gibt es zunächst für jede Datei in der die Suche fündig wurde einen Eintrag. Die Dateien die Du nicht beachten willst, kannst Du aus der Liste löschen. Danach ganz Du in Ruhe die Fundstellen in den verbleibenden Dateien durchgehen.

    Grüße

    Roland

    Mittwoch, 6. Januar 2016 13:15
  • Danke, Roland, du gibst dir echt Mühe. So wie ein Entwickler manchmal einem Kunden zu erklären versucht, dass er eine Fehlende Funktion in Wirklichkeit eigentlich aber sowas von garnicht braucht... ;-)

    Ja, es geht so, aber es ist weder einfach, noch zufriedenstellend. Die Suche ist in diesem Vorschlag von dir zweistufig: erst bekomme ich alle Dateien, wo der Suchbegriff vorkommt, dann muss ich die Dateien manuell ausschließen, die ich nicht durchsuchen will, indem ich dann nocheinmal jene Dateien angebe, von wo ich die Ergebnisse eventuell brauche.

    Naja, ich glaube, einfach ist anders...

    Mittwoch, 6. Januar 2016 13:36
  • Hallo Peter,

    das gewünschte Feature gibt es nun leider nicht. Aber warum wendest Du dich mit deinem Anliegen nicht an denjenigen, der es integrieren könnte?

      http://visualstudio.uservoice.com/forums/121579-visual-studio

    Wenn sich genügend Befürworter finden, wird es evtl. in einer der nächsten Versionen eingebaut.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 6. Januar 2016 18:20
    Moderator
  • Hallo Peter,

    Na, vielleicht hat noch jemand einen Geheimtipp, denn ich kann mir nicht vorstellen, dass noch kein Entwickler außer mir die Nerven geschmissen hat, wenn ihm sinnlose Suchergebnisse aus 6000 generierten Codezeilen präsentiert werden, bevor das kommt, was er tatsächlich braucht. Was habt ihr alle für Projekte, dass der Auftraggeber DAS zu zahlen gewillt ist?? ;-(

    nuja, ich würde eher sagen, dass die allermeisten Leute wohl anders arbeiten als Du und die von dir gewünschte Suchfunktion daher gar nicht benötigt wird.

    Ich für meinen Teil komme in vielen Fällen über Alle Verweise anzeigen... erheblich schneller zum Ziel. Natürlich müssen die Tabellen dann als Klassen/Eigenschaften/... und nicht als String vorliegen.

    Dazu kommt, dass es bei mir (und vielen anderen) genau eine zentrale Stelle gibt, an der überhaupt mit Datenbankelementen und deren Namen hantiert wird. Und wenn ich dort was finden will, schränke ich die Suche auf dieses Projekt oder auch genau diese eine Datei ein. Dann hab ich deine Probleme gar nicht erst.

    Ich persönlich habe dieses Feature in Visual Studio selbst noch nicht benötigt. Denn selbst wenn es gehen würde, wäre VS IMHO viel zu langsam bei der Suche.

    Ich nutze hierfür UltraEdit, damit lassen sich auch dann auch die von dir gewünschten Filter nutzen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 6. Januar 2016 18:26
    Moderator
  • Hallo,

    auch wenn das jetzt vielleicht nicht so "gemütlich" von der Benutzung ist wie per VS, aber warum verwendest du nicht mal die "Konsole" (CMD) unter Windows für die Suche.

    Das Programm findstr ist dazu bestens geeignet. Also ich arbeite zum Beispiel viel mit Linux, und das Linux-Äquivalent dazu macht mich immer glücklich. Und dehsalb nehme ich an, dass findstr sicher auch seinen Auftrag erfüllen kann.

    Ein Versuch kostet nicht (außer ein paar Minuten Zeit).

    Wie du findstr richtig bediehnt, steht auf der Seite, zu der ich verlinkt habe. Aber auch im Internet solltest du eine Menge finden können.


    © 2015 Thomas Roskop
    Germany //  Deutschland

    Mittwoch, 6. Januar 2016 18:38
  • nuja, ich würde eher sagen, dass die allermeisten Leute wohl anders arbeiten als Du und die von dir gewünschte Suchfunktion daher gar nicht benötigt wird.

    Ich für meinen Teil komme in vielen Fällen über Alle Verweise anzeigen... erheblich schneller zum Ziel. Natürlich müssen die Tabellen dann als Klassen/Eigenschaften/... und nicht als String vorliegen.


    Vielen Dank, Stefan, das hatten wir schon. Du hast recht, das ist eine Funktion, die niemand außer mir benötigt (alle anderen suchen sich durch 6000 Zeilen computergenerierten Code zum Dodel...) und überhaupt, VS wäre ja eh zu langsam, etc. etc. etc.

    Das ist der Hauptgrund, warum ich so ungern in Foren poste: man bekommt statt sachlicher Stellungnahme zu einem Problem die Meinungen und Ansichten von Einzelnen, die für diesen selbst zwar wichtig sein mögen, zur Lösung des Problems abe Null beitragen.
    Mittwoch, 6. Januar 2016 22:16
  • Hallo Peter,

    ich poste noch nicht so lange in Foren, daher sieh es mir nach, wenn ich keine sachliche Stellungnahme verfasst habe. Tut mir aufrichtig leid, keine Lösung deines Problems erarbeitet zu haben. Aber in der Kürze der Zeit ließ sich eine solche Funktion leider leider nicht in VS integrieren.

    ---

    Aber damit ich auch was sinnvolles geschrieben habe:

    Es ist ja schön, dass Du genau weißt, wie jeder andere Entwickler arbeiten muss, weil es ja sonst sicher nicht geht und alles total unproduktiv ist aber meiner Erfahrung nach wissen Fragesteller, die sowas wie

    (früher gab es meiner Erinnerung nach wesentlich mehr Optionen, die Regex-Suche hält sich mittlerweile an keine Standards mehr, die Doku dazu ist nicht einmal mehr lächerlich, etc.) und dass solche wichtigen Funktionen, wie das Ausschließen von maschinengeneriertem Code aus der Suche nicht möglich zu sein scheinen!

    ...

    Was habt ihr alle für Projekte, dass der Auftraggeber DAS zu zahlen gewillt ist?? ;-(

    ...

    Also es scheint hier tatsächlich niemand eine Idee zu haben, wie man im Visual Studio effizient arbeiten kann...

    schreiben, meist nicht wirklich, was ihre Entwicklungsumgebung kann und wie man das gezielt einsetzt. Ob das bei dir auch der Fall ist, kann ich natürlich nicht sagen.

    Wenn Du die Antworten auf deine Frage lesen und verstehen würdest, hättest Du gemerkt, dass die meisten (inkl. mir) schon versucht haben, dir sachlich und auf die Fragestellung hin zu antworten. Aber dein Blick scheint schon etwas eingeengt zu sein, so dass Du nur diese eine Funktion in VS haben willst und nichts anderes akzeptierst. Die gewünschte Funktion scheint es aber nun anscheinend nicht zu geben und hinzaubern kann sie auch keiner.

    Einen kleinen Tipp hab ich noch: Wenn diese Funktion doch so dermaßen wichtig für alle Entwickler dieser Welt ist, schreib doch einfach Visual Studio Plugin/Addon, mit dem das geht. Die Leute werden es dir danken. Und lange dauern sollte es auch nicht, hast Du als Profi sicher ganz schnell gemacht und kannst damit der Community auch was zurückgeben.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community




    Mittwoch, 6. Januar 2016 22:42
    Moderator
  • Hallo Stefan,

    nicht jeder arbeitet gleich. Mir kommt daher das vom OP beschriebene Problem auch kaum unter.

    Hallo Peter,

    Es gibt das entsprechende Addon schon:
    http://entrian.com/blog/source-search-144-vs2012-dark-theme-inclusion-exclusion/

    Was Visual Studio angeht, so ist es dort (auch in VS2015) nur via Addon möglich. Vielleicht tut sich da noch was, immerhin kann man sich inzwischen ja die inkludierten Dateien aussuchen.

    Gruß


    - Florian

    Donnerstag, 7. Januar 2016 14:12