T-Rex: wichtige Funktionalität einer IDE für dich

Moin,

inspiriert durch den Beitrag (http://forum.de.selfhtml.org/my/?t=218783&m=1507506) habe ich mir generell überlegt was ich von einer IDE überhaupt erwarte.

1. Syntax Highlighting für die "Websprachen". Ohne geht wohl nichts mehr. Ob c# unterstützt wird ist mir ziemlich egal.

2. Fehlererkennung. Man vergisst ja doch mal ein ; hier und ein " dort.

3. Verkürzte Codeschreibung. dedlfix hat diese geniale Sache ja schon vorgestellt. Kannte ich vor diesem Post nicht in dieser Form. nur das ein <div> automatisch wieder geschlossen wird.

4. autosuggest bei Methodennamen. Wenn man von einem Objekt eine Methode aufrufen möchte, sollte das Ding wissen welche zu Verfügung stehen und sie vorschlagen. Das erspart doch einige Zeit, die man ansonsten mit "Datei suchen, öffnen 'ahhh so heißt das Ding'" verbraucht.

5. Makrogenerator. Das habe ich im Notepad++ und möchte es nicht mehr missen. Wenn für eine Datei mit 100 Zeilen in jeder Zeile eine gleiche Bearbeitung machen muss ist so ein Ding goldwert. Einfach eine Zeile vormachen, Makro abspeichern und 99 mal ausführen.

6. Eventuell eine integration von Git und Datenbankschnittstelle. Wobei für die Datenbank gibt es andere mächtige Tools, an die ein IDE Plugin wahrscheinlich nicht herankommt.

Ist für euch ein Punkt dabei der absurd ist? Wenn ja wieso?
Was fehlt an wichtigen Funktionen? Warum fehlen diese?
Eventuell findet sich am Ende die perfekte IDE, die man einfach jedem empfehlen kann.

Gruß
Brainstorming
T-Rex

  1. Hallo,

    1. Syntax Highlighting für die "Websprachen". Ohne geht wohl nichts mehr.

    also wenn Syntax-Hilighting, dann bitte konfigurierbar. Oft sind die Voreinstellungen so ... ähm ... fröhlich und ausgelassen, dass die vielen bunten Codefragmente mehr ablenken als nützen. Dann lieber gar kein Hilighting. Die Quelltextanzeige von Firefox finde ich schon grenzwertig, aber gerade noch akzeptabel.

    1. Fehlererkennung. Man vergisst ja doch mal ein ; hier und ein " dort.

    Das ist eine anspruchsvolle Forderung. Denn sie erfordert eigentich einen ausgewachsenen Syntax-Check (Parser), der in der IDE integriert ist. Und das für viele unterschiedliche Sprachen. Gut, der ist fürs Hilighting ansatzweise schon da, aber trotzdem ...

    1. Verkürzte Codeschreibung. dedlfix hat diese geniale Sache ja schon vorgestellt.

    Habe ich gelesen, aber ich konnte mich für den Gedanken nicht wirklich begeistern. Die Funktionalität steckt zum Großteil auch schon in Autosuggest und Makros.

    Ist für euch ein Punkt dabei der absurd ist? Wenn ja wieso?

    Absurd sicher nicht, aber manches, was ich selbst nicht bräuchte oder fordere.

    Was fehlt an wichtigen Funktionen? Warum fehlen diese?

    * Komplett benutzerdefinierbare Tastatur-Shortcuts (ist mir ein wichtiges Merkmal)
     * Integration der Entwicklungswerkzeuge (z.B. Compiler, Debugger)
     * Eine Möglichkeit, selbst weitere Tools einzubringen

    Eventuell findet sich am Ende die perfekte IDE, die man einfach jedem empfehlen kann.

    Ich glaube nicht, dass es die gibt. ;-)

    Ciao,
     Martin

    --
    Okay, Alkohol ist keine Antwort.
    Aber manchmal vergisst man beim Trinken wenigstens die Frage.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo

      1. Syntax Highlighting für die "Websprachen". Ohne geht wohl nichts mehr.

      also wenn Syntax-Hilighting, dann bitte konfigurierbar. Oft sind die Voreinstellungen so ... ähm ... fröhlich und ausgelassen, dass die vielen bunten Codefragmente mehr ablenken als nützen. Dann lieber gar kein Hilighting. Die Quelltextanzeige von Firefox finde ich schon grenzwertig, aber gerade noch akzeptabel.

      So bunt ist das doch nicht. Was mich dort stört, ist die Tatsache, dass grundsätzlich das erste Element als fehlerhaft angesehen und somit knallrot markiert wird. Dabei ist es egal, ob es die korrekte Doctype-Deklaration eines vollständigen Dokuments ist oder die (logischerweise) fehlenden Wurzelelemente in der Anzeige eines Codeausschnitts (Anzeige des Quelltextes des markierten Bereichs).

      1. Fehlererkennung. Man vergisst ja doch mal ein ; hier und ein " dort.

      Das ist eine anspruchsvolle Forderung. Denn sie erfordert eigentich einen ausgewachsenen Syntax-Check (Parser), der in der IDE integriert ist. Und das für viele unterschiedliche Sprachen. Gut, der ist fürs Hilighting ansatzweise schon da, aber trotzdem ...

      Die Anführungszeichen, typischerweise ja auch Stringbegrenzer, fallen bei fehlerhafter Anwendung/Schachtelung schon durch das Highlightning auf. Auf fehlende Semikola (z.B. am Anweisungsende) wurde ich so noch in keinem Editor hingewiesen. Da braucht man wohl doch einen Parser.

      1. Verkürzte Codeschreibung. dedlfix hat diese geniale Sache ja schon vorgestellt.

      Habe ich gelesen, aber ich konnte mich für den Gedanken nicht wirklich begeistern. Die Funktionalität steckt zum Großteil auch schon in Autosuggest und Makros.

      Weil du im anderen Thread Bluefish ansprachst, der hat so etwas. Nennt sich Zencoding und funktioniert. Allerdings habe auch ich nicht regelmäßigen Bedarf an einer solchen Funktion, womit sie auch bei mir brach liegt.

      Was fehlt an wichtigen Funktionen? Warum fehlen diese?

      * Komplett benutzerdefinierbare Tastatur-Shortcuts (ist mir ein wichtiges Merkmal)
      * Integration der Entwicklungswerkzeuge (z.B. Compiler, Debugger)
      * Eine Möglichkeit, selbst weitere Tools einzubringen

      … also Plugins. Wobei die möglichst nahtarme bis -lose Integration in den verschiedenen Editoren und IDEs praktisch von sehr unterschiedlicher Qualität ist.

      * Projektverwaltung

      Aber das sind alles Funktionen, die zum Standard gehören. Die meisten Funktionen sind schon in vielen Editoren enthalten, richtige™ IDEs sollten die genannten Punkte alle oder doch zumindest annähernd alle erfüllen.

      Ich selbst habe mich mit den von mir ausprobierten (ich schreibe bewusst nicht „getesteten“) IDEs nicht anfreunden können. Die waren mir immer entweder zu umständlich oder zu monströs.

      Tschö, Auge

      --
      Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
      Terry Pratchett, "Wachen! Wachen!"
      ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
      Veranstaltungsdatenbank Vdb 0.3
      1. Hi,

        Die Quelltextanzeige von Firefox finde ich schon grenzwertig, aber gerade noch akzeptabel.
        So bunt ist das doch nicht.

        ich sag doch, das geht noch. Angenehmer wäre es mir aber, wenn sie sich auf verschiedene Töne _einer_ Farbe und/oder verschiedene Schriftvarianten (kursiv, fett) beschränken würde.

        Ich selbst habe mich mit den von mir ausprobierten (ich schreibe bewusst nicht „getesteten“) IDEs nicht anfreunden können. Die waren mir immer entweder zu umständlich oder zu monströs.

        Ich habe mich mit Code::Blocks einigermaßen anfreunden können (wenn auch nicht für Webprojekte, sondern vor allem für Desktop- und µC-Anwendungen). Da ist zwar auch nicht alles so, wie ich es mir erträume, und ich nutze mit Sicherheit viele der Features überhaupt nicht. Aber das gilt für viele Softwarepakete. Ich glaube zum Beispiel nicht, dass es irgendjemanden gibt, der etwa den Funktionsumfang von LibreOffice auch nur annähernd ausreizt. ;-)

        Ciao,
         Martin

        --
        Man gewöhnt sich an allem, sogar am Dativ.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo

          Die Quelltextanzeige von Firefox finde ich schon grenzwertig, aber gerade noch akzeptabel.
          So bunt ist das doch nicht.

          ich sag doch, das geht noch. Angenehmer wäre es mir aber, wenn sie sich auf verschiedene Töne _einer_ Farbe und/oder verschiedene Schriftvarianten (kursiv, fett) beschränken würde.

          Mal sehen, was mein rot-grün-geschwächter Sehsinn hergibt. Da ist schwarz und blau in verschiedenen Tönen und Stärken sowie rot für Fehler. Desweiteren gibt es grüne, kursivgesetze Kommentare. Das war's aber auch schon. Irgendwas vergessen?

          … und ich nutze mit Sicherheit viele der Features überhaupt nicht. Aber das gilt für viele Softwarepakete.

          Mit „viele“ gehst du mMn zu vorsichtig an die Sache. :-)

          Tschö, Auge

          --
          Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
          Terry Pratchett, "Wachen! Wachen!"
          ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
          Veranstaltungsdatenbank Vdb 0.3
          1. Hi,

            Die Quelltextanzeige von Firefox finde ich schon grenzwertig, aber gerade noch akzeptabel.
            So bunt ist das doch nicht.
            ich sag doch, das geht noch. Angenehmer wäre es mir aber, wenn sie sich auf verschiedene Töne _einer_ Farbe und/oder verschiedene Schriftvarianten (kursiv, fett) beschränken würde.
            Mal sehen, was mein rot-grün-geschwächter Sehsinn hergibt. Da ist schwarz und blau in verschiedenen Tönen und Stärken sowie rot für Fehler. Desweiteren gibt es grüne, kursivgesetze Kommentare. Das war's aber auch schon. Irgendwas vergessen?

            ja, violett für die Elementnamen. Und blau sehe ich nur in einer einzigen Abstimmung, wenn man mal von der Unterstreichung mutmaßlicher URLs absieht. Trotzdem: Das sind mit Schwarz, Blau, Violett, Rot und Grün schon fünf verschiedene Farben.

            … und ich nutze mit Sicherheit viele der Features überhaupt nicht. Aber das gilt für viele Softwarepakete.
            Mit „viele“ gehst du mMn zu vorsichtig an die Sache. :-)

            Gut möglich. In den 90ern habe ich mal in irgendeiner PC-Zeitschrift gelesen, selbst professionelle Anwender von MS Word würden selten mehr als 10% der Möglichkeiten ausschöpfen.

            Ciao,
             Martin

            --
            Vater Staat bringt uns noch alle unter Mutter Erde.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Hallo

              Mal sehen, was mein rot-grün-geschwächter Sehsinn hergibt. …

              ja, violett für die Elementnamen. Und blau sehe ich nur in einer einzigen Abstimmung, …

              Violett ist das neue Blau.

              Tschö, Auge

              --
              Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
              Terry Pratchett, "Wachen! Wachen!"
              ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
              Veranstaltungsdatenbank Vdb 0.3
            2. Hallo,

              professionelle Anwender von MS Word

              du meinst so SekretärInnen, die damit täglich Texte[1] tippen?

              Gruß
              Kalk

              [1] Haben wir das nur ausgedruckt oder auch irgendwo auch als Datei? Wie jetzt, Datei?

    2. Tach!

      1. Syntax Highlighting für die "Websprachen". Ohne geht wohl nichts mehr.
        also wenn Syntax-Hilighting, dann bitte konfigurierbar.

      Ich kenne kein System, bei dem die Farben nicht zu ändern gingen.

      1. Fehlererkennung. Man vergisst ja doch mal ein ; hier und ein " dort.
        Das ist eine anspruchsvolle Forderung. Denn sie erfordert eigentich einen ausgewachsenen Syntax-Check (Parser), der in der IDE integriert ist. Und das für viele unterschiedliche Sprachen.

      Ja, alles da. Gibts nicht erst seit gestern. WebStorm/PhpStorm kommt gar nicht umhin, das für die im Web verwendeten Sprachen anzubieten. Auch das Visual Studio kann nicht nur C# und VB, sondern auch "den ganzen Webkram".

      1. Verkürzte Codeschreibung. dedlfix hat diese geniale Sache ja schon vorgestellt.
        Habe ich gelesen, aber ich konnte mich für den Gedanken nicht wirklich begeistern. Die Funktionalität steckt zum Großteil auch schon in Autosuggest und Makros.

      Was von beiden meint ihr jeweils? Makros haben damit nichts zu tun. Tipp-Hilfe bei Autosuggestion ist der Teil, bei dem man die Großbuchstaben drückt (gebi für getElementById). Aber das div#foo.bar ist weder Autosuggestion noch Makro.

      * Komplett benutzerdefinierbare Tastatur-Shortcuts (ist mir ein wichtiges Merkmal)

      Haben die IDEs heutzutage.

      * Integration der Entwicklungswerkzeuge (z.B. Compiler, Debugger)

      Das ist etwas schwierig bei Webanwendungen, weil die ja im Browser arbeiten. Aber der WebStorm hat Browser-Plugins, damit er mit denen zusammen debuggen kann.

      * Eine Möglichkeit, selbst weitere Tools einzubringen

      Hat man auch drin.

      Eventuell findet sich am Ende die perfekte IDE, die man einfach jedem empfehlen kann.
      Ich glaube nicht, dass es die gibt. ;-)

      Für C# und für die Websachen hab ich die für mich perfekten IDEs schon gefunden. Es muss ja keine eierlegende Wollmichsau sein, wenn ich die Eier gar nicht brauche. Die IDEs von JetBrains sind ja auch spezialisiert auf PHP, Python, Ruby, Java, jeweils inklusive Web oder Web ohne serverseitiges Zeug.

      dedlfix.

      1. Hallo,

        1. Verkürzte Codeschreibung. dedlfix hat diese geniale Sache ja schon vorgestellt.
          Habe ich gelesen, aber ich konnte mich für den Gedanken nicht wirklich begeistern. Die Funktionalität steckt zum Großteil auch schon in Autosuggest und Makros.
          Was von beiden meint ihr jeweils? Makros haben damit nichts zu tun. Tipp-Hilfe bei Autosuggestion ist der Teil, bei dem man die Großbuchstaben drückt (gebi für getElementById). Aber das div#foo.bar ist weder Autosuggestion noch Makro.

        stimmt, das geht noch einen Schritt weiter. Mir fällt auch jetzt beim Lesen auf, dass es wohl zwei unterschiedliche Arten von Makros gibt. Zum einen die aufgezeichnete Sequenz einer Folge von Bedienschritten, zum andern wird aber z.B. in C die Definition von Konstanten, Textbausteinen und Pseudo-Funktionen mit #define auch als Makro bezeichnet. Daher hatte ich etwas wie

        #define gebi getElementById

        im Sinn.

        * Komplett benutzerdefinierbare Tastatur-Shortcuts (ist mir ein wichtiges Merkmal)
        Haben die IDEs heutzutage.

        Haben wohl viele; oft aber nur beschränkt auf bestimmte Bereiche, etwa den Editor. Oder es bleibt ein kleiner Satz "festverdrahteter" Shortcuts, die sich nicht überschreiben oder umdefinieren lassen.

        Ciao,
         Martin

        --
        Solange der Nagellack nicht trocken ist,
        ist eine Frau praktisch wehrlos.
          (Burt Reynolds, US-Schauspieler)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach!

          Mir fällt auch jetzt beim Lesen auf, dass es wohl zwei unterschiedliche Arten von Makros gibt. Zum einen die aufgezeichnete Sequenz einer Folge von Bedienschritten, zum andern wird aber z.B. in C die Definition von Konstanten, Textbausteinen und Pseudo-Funktionen mit #define auch als Makro bezeichnet. Daher hatte ich etwas wie
          #define gebi getElementById
          im Sinn.

          Das war damit nicht gemeint. Es kommt kein Code hinzu. Es handelt sich lediglich um Abkürzungen beim Tippen. Makros in der einen oder anderen Form sind da nicht beteiligt. Der Automatismus braucht auch keine irgendwo definierten Namenslisten. Er macht das für alle Bezeichner, die er irgendwo im Code nebst eingebundenen Code-Bibliotheken findet. Als Anwender muss ich dafür auch nichts vorbereiten.

          dedlfix.

  2. Tach!

    Was fehlt an wichtigen Funktionen? Warum fehlen diese?

    Vieles. Weil ich gar nicht alles aufzählen kann, was ich beim Arbeiten verwende. Manche häufiger, manche seltener.

    Was soll am Ende rauskommen? Willst du eine neue IDE erstellen, die all die erwähnten Wünsche eingebaut bekommt? Wenn du keine Firma mit vielen Entwicklern bist, wird das sowieso nichts werden. Eine Liste von IDEs gibt es in der Wikipedia. Welche nun die persönlich beste ist, muss jeder für sich selber durch Testen herausfinden.

    dedlfix.

    1. Was soll am Ende rauskommen? Willst du eine neue IDE erstellen, die all die erwähnten Wünsche eingebaut bekommt?

      :D ja genau. In 10 Jahren stelle ich meine Alphaversion vor. Du bist eingeladen, Buffet gibts auch, aber wehe jemand isst was davon.

      Naja es wurde die Frage gestellt, was für ein Tool ihr benutzt. Da hat auch jeder brav geantwortet, aber nur wenig Argumente geliefert.
      Deshalb wollte ich den Spieß mal umdrehen. Dann werden nämlich zu erst Argumente genannt. Das sind die Wünsche die man hat. Und dann schaut man was für ein Tool diese Wünsche am besten abdeckt. Außerdem kommen auch neue Idee, an die ich selbst nicht gedacht habe, die jedoch meine Arbeit eventuell vereinfachen könnten.

      Tja und dann kommt eine Reaktion wie ich sie mir erhofft habe.

      Gruß
      Genialer Threadstarter
      T-Rex

  3. Hakuna matata!

    1. Syntax Highlighting für die "Websprachen". Ohne geht wohl nichts mehr. Ob c# unterstützt wird ist mir ziemlich egal.

    In dem Zusammenhang werf ich mal Kontext-Highlighting als Alternative in den Raum. Bisher gibt es noch keine Editoren, die dafür Unterstützung bieten, aber ich sehe dafür sehr großes Potenzial und die Resonanz in der JavaScript-Community ist erfreulich hoch. Ein Vim-Plugin ist offenbar in Arbeit.

    Eventuell findet sich am Ende die perfekte IDE, die man einfach jedem empfehlen kann.

    Ich benutze überhaupt keine IDE mehr. Mich haben sie nie wirklich unterstützt, viele Features sind zwar ganz nett, aber bei den wirklich zeitaufwändigen Aufgaben habe ich mich immer allein gelassen gefühlt. Seitdem ich von dem Gedanken weg bin, dass sich meine ganze Arbeit in einem Programm abspielen muss, bin ich zunehmend produktiver und auch mit mehr Spaß bei der Sache. Die wesentlichen Programme, die mir den Arbeitsalltag erleichtern sind Versionskontrolle (git), Taskrunner (gulp oder grunt), Paketmanager (npm und bower), Code-Quality (jslint) und Kollaborations-Tools (issue-tracker, wikis, github). Teilweise findet man diese Werkzeuge auch in IDEs wieder, aber auch oft genug ohne einen gesteigerten Nutzen gegenüber der dedizierten Variante. Und für viele Helferlein, für den long tail, gibt es ohnehin keine Integration.

    Ich drücke es mal so aus, wieso eine eierlegende Wollmilchsau, wenn ich ein Huhn, ein Schaf, eine Kuh, eine Sau und darüber hinaus einen ganzen Bauernhof, einen Zoo, ein Aquarium und sowieso die gesamte Flora und Fauna der Erde haben kann?

    Nicht falsch verstehen, ich habe nichts gegen IDEs, im Gegenteil sie sind großartig und für die aller meisten Entwickler erfüllen sie ihren Zweck. Aber man darf sie nicht als Allzweck-Schweizertaschenmesser missverstehen, sondern nur als eins von vielen Werkzeugen, die ein Entwickler beherrschen muss. Welche Werkzeuge das im konkreten Fall sind, kann individuell sehr unterschiedlich ausfallen, wichtig ist nur, dass sie dem Entwickler eine Hilfe sind und ihm nicht auch noch Steine in den Weg legen.

    Ach übrigens, zum Code eintippen benutze ich DEN Editor oder die Chrome-Dev-Tools, das hat angefangen mit dieser Geschichte und ist seitdem noch sehr viel besser geworden.

    --
    “All right, then, I'll go to hell.” – Huck Finn
    1. In dem Zusammenhang werf ich mal Kontext-Highlighting als Alternative in den Raum. Bisher gibt es noch keine Editoren, die dafür Unterstützung bieten, aber ich sehe dafür sehr großes Potenzial und die Resonanz in der JavaScript-Community ist erfreulich hoch. Ein Vim-Plugin ist offenbar in Arbeit.

      Das sieht hochinteressant aus. Danke für den Hinweis.