Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Help 2.0-Addin für SharpDevelop (https://www.delphipraxis.net/43883-help-2-0-addin-fuer-sharpdevelop.html)

MathiasSimmack 10. Apr 2005 10:11


Help 2.0-Addin für SharpDevelop
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich stelle hier mal mein erstes, richtig großes CSharp-Projekt rein. Es rüstet SharpDevelop mit einer integrierten Hilfe aus, ähnlich dem Visual Studio. Das heißt, ihr habt Inhalt, Index und Volltextsuche in der Entwicklungsumgebung und müsst den externen Betrachter eigentlich nicht mehr starten. :)

Ein paar Hinweise:
  1. Ohne Help 2.0 geht es jetzt auch. Das heißt: Eigentlich geht es nicht, aber zumindest verursacht das Addin nun keinen Fehler mehr, und SharpDevelop startet. Die Controls sind dann eben bloß alle deaktiviert und lassen sich nicht benutzen. Ohne Hilfesystem ja auch irgendwie logisch.
  2. Die Anordnung der Pads kann ich leider nicht beeinflussen. Standardmäßig gehören Index- und Suchergebnisse nach unten (zu Ausgabe und Aufgaben), das müsstet ihr bitte selbst machen.
  3. Das Addin sucht standardmäßig nach einem bestimmten Namespace. Wenn der nicht vorhanden ist, dann benutzt es die erste Help 2.0-Collection, die es findet. Das ist ein Kompromiss, weil ich ja nicht weiß, was auf euren Systemen alles installiert ist. Über "Extras/Optionen/Tools/Help 2.0-Environment" könnt ihr aber einstellen, was ihr sehen wollt. Das kann das .NET Framework SDK sein, das PSDK, oder sogar Luckies Win32-API-Tutorials ... :lol:
  4. Die aktuell angezeigte Collection und eure Favoriten findet ihr in zwei XML-Dateien (help2*.xml) im Konfig-Ordner von SharpDevelop (%Profil%\Anwendungsdaten\.ICSharpCode\SharpDevelo p).
  5. Es kann passieren, dass die Toolbar plötzlich verschwindet und der Hintergrund eures Desktop zu sehen ist. Ich habe keine Ahnung, was für dieses Problem verantwortlich ist. Auch die normale SharpDevelop-Toolbar wird nicht anders eingebunden als meine. Na ja, :?, einmal minimieren und maximieren, bzw. die Toolbar manuell nach unten ziehen, und die Sache ist erledigt.
Jetzt zum Quellcode und damit zu den Leuten, die nicht die o.g. Version haben. (So wie ich mit meiner CVS 1.1.0.1839.) Zum Kompilieren solltet ihr am besten NAnt benutzen. Das Tool befindet sich normalerweise im "src"-Ordner von SharpDevelop. Ich habe zwei Dateien vorbereitet, die ihr an eure Rechner anpassen müsst. Zum einen die "HtmlHelp2.build" (XML), wo ihr folgende zwei Angaben findet
Code:
<property name="dir.repository" value="H:/SharpDevelop.Repository/SharpDevelop"/>
Benutzt wird hier der Knoten, der auf meine CVS-Version zeigt. Darunter auskommentiert ist quasi der gleiche Knoten, nur dass hier der Ordner zur installierten Version angegeben ist. Benutzt einen davon und tragt euren Pfad zu SharpDevelop ein. Die zweite Datei ist die "build.bat", in der ihr folgendes findet:
Code:
set NAnt="H:\SharpDevelop.Repository\SharpDevelop\src\Tools\nant\bin\NAnt.exe"
::set NAnt="%ProgramFiles%\SharpDevelop\src\Tools\nant\bin\NAnt.exe"
Das selbe: Benutzt wird der CVS-Ordner, auskommentiert darunter steht der Ordner der installierten Version. Nehmt eins von beiden, passt es ggf. an, dann beendet SharpDevelop und startet die Batchdatei. NAnt kompiliert den Quellcode und kopiert alle benötigten Dateien in die o.g. Ordner. Wenn ihr SharpDevelop dann startet, solltet ihr das Addin auch haben.

Bitte Probleme, Kritik, Lob und/oder Anregungen hier posten.

MathiasSimmack 10. Apr 2005 12:29

Re: Help 2.0-Addin für SharpDevelop
 
Wer "1" und "i" nicht unterscheiden kann, sollte vermutlich keine Programme veröffentlichen. :oops: :mrgreen: Hier ein kleiner Fix für die Datei "source\HtmlHelp2\Help2Service\HtmlHelp2Service.cs ". Einfach die alte Version überschreiben, neu kompilieren, und voilà ...

Download: s. Quellcode im 1. Beitrag

DSeven 13. Apr 2005 05:26

Re: Help 2.0-Addin für SharpDevelop
 
Das Addin ist in der aller neusten SharpDevelop Version schon enthalten.
Zumindestens in der Subversion version 1.1.

Finde das echt genial hat mir immer gefellt sowas.

cya

MathiasSimmack 13. Apr 2005 09:04

Re: Help 2.0-Addin für SharpDevelop
 
Ja, das stimmt. ... Ich meine, dass es ab 1.1.0.1840 drin war. Ob es genial ist, kann ich als Autor natürlich schlecht beurteilen. Das nennt man wohl "Voreingenommenheit". :stupid:

Wie auch immer. Die Verzeichnisstruktur hat sich beim Repository allerdings geändert. Wer also noch eine Version < 1840 hat, der sollte vor dem SVN-Update die hier veröffentlichte Addin-Version wieder entfernen.

MathiasSimmack 22. Apr 2005 20:44

Re: Help 2.0-Addin für SharpDevelop
 
So, ich habe mal den Quellcode von der aktuellen Repository-Version in den ersten Beitrag getan. Das ist für die Leute, die noch mit der 1.0.3er-Version arbeiten und nicht auf das Repository zugreifen (wollen). Hat etwas länger gedauert, sorry. Aber zum einen steckte da noch ein recht merkwürdiger Bug drin, und zum anderen musste ich die ganzen Strings wieder "zurückübersetzen". Die Repository-Version ist nämlich schon für das Wechseln der Sprache von #d vorbereitet.

Na, egal. Im Anhang des 1. Beitrags also der aktuellen Quellcode, der nun hoffentlich keine Probleme mehr verursacht.

MathiasSimmack 17. Mai 2005 22:35

Re: Help 2.0-Addin für SharpDevelop
 
Ich krame mal den Beitrag raus. Ich wurde darauf aufmerksam gemacht, dass das Addin wohl ein Problem verursachen soll: #d-Forum. Bei mir tritt das allerdings nicht auf. Hatte jemand von euch schon mal das Problem, dass sich die aktuelle Beta 1.1 nicht beenden lässt? Ich habe die aktuelle Version 1.1.0.1959, aber hier läuft alles. :gruebel:

MathiasSimmack 3. Aug 2005 20:21

Re: Help 2.0-Addin für SharpDevelop
 
Um hier nicht off-topic zu werden, hole ich den Beitrag eben noch mal hervor.

Wie gesagt, ich habe auch in der allerneusten SharpDevelop-Version 1.1.0.2016 nicht diesen mysteriösen Fehler. Ich weiß auch immer noch nicht, wodurch das Problem überhaupt verursacht wird. Wenn jemand inzwischen eine Idee hat, ich bin immer noch interessiert.

Robert_G 3. Aug 2005 20:28

Re: Help 2.0-Addin für SharpDevelop
 
Bevor ich jetzt meine Schlidkröte für das #d Repo einstelle...
Ist sämtliche Funktionalität deines addIns in der öffentlichen Version vorhanden?
BTW: Mir ist es bohne ob sich #d verschluckt wenn ich es schließe, meine D2005 PE macht das immer. ;)
Hast du vielleicht schon diese dynamic Help aus dem VS "kopiert", ich liebe es immer die passenden Themen zum aktuellen Wort im Editor zu haben... :love:

Robert_G 3. Aug 2005 22:20

Re: Help 2.0-Addin für SharpDevelop
 
Kleines Update:
Ich habe mir gerade die öffizielle 1964 gezogen. Der Bug bei Schließen scheint nicht mehr aufzutreten. :)
Dynamic Help ist leider ohne Funktion und im Index kann ich nix zum Filtern auswählen.
Diese beiden Punkte kommen wohl daher, dass nur #d und nDoc als Hilfe registriert sind. Wobei die doch auch im Filter auftauchen sollten?

btw: Ich habe seit langem mal wieder ein Auge drauf geworfen: #d ist wirklich sackschnell geworden!

MathiasSimmack 4. Aug 2005 06:49

Re: Help 2.0-Addin für SharpDevelop
 
Die dynamische Hilfe ist an sich fertig. Zumindest für SharpDevelop 1.x. Das Pad ist da, der gewrappte Browser auch (nur beides deaktiviert). Das Interface steht. Es funktioniert auch super. Ich hatte zum Testen mal einen Menüeintrag, der der Suchfunktion ein Wörtchen übergibt. Und -ratzfatz!- waren die passenden Themen aufgelistet, obwohl die Suche das komplette .NET Framework durchwühlen musste (s. auch Screenshot in der Doku über die Controls). :)

Damit es aber so funktioniert wie im Visual Studio müsste zumindest der Dynamische Hilfe-Teil komplett in die Haupt-Assembly von #d übernommen werden. Dorthin, wo der Texteditor ist. Denn logischerweise muss die Hilfe ja reagieren, wenn der Cursor auf irgendeinem Wort steht. Gut ist, dass beim Wort Button bspw. schon der komplette Namespace analysiert und gefunden wird. Das kannst du direkt so an die dynamische Hilfe übergeben, und voilà ...


Ich hatte schon mal probiert, den Texteditor so zu ändern, dass er nicht mehr die übliche Hilfefunktion aufruft, sondern eben meine ... aber ... :oops: ... irgendwie habe ich dabei eine Endlosschleife o.ä. produziert, wodurch #d nicht mehr lief. :lol:


btw: Der Begriff "Dynamische Hilfe", den du momentan in SharpDevelop siehst, hat mit meinem Addin nichts zu tun. Habe ich auch Mike schon mal geschrieben, dass ich diese Bezeichnung missverständlich finde, denn "Dynamische Hilfe" ist für mich auch die Funktion aus dem Visual Studio.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz