AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Help 2.0-Addin für SharpDevelop
Thema durchsuchen
Ansicht
Themen-Optionen

Help 2.0-Addin für SharpDevelop

Ein Thema von MathiasSimmack · begonnen am 10. Apr 2005 · letzter Beitrag vom 4. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
MathiasSimmack
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 ...
  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.
Angehängte Dateien
Dateityp: zip help2addin.source_174.zip (90,7 KB, 20x aufgerufen)
 
MathiasSimmack
 
#2
  Alt 10. Apr 2005, 12:29
Wer "1" und "i" nicht unterscheiden kann, sollte vermutlich keine Programme veröffentlichen. 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
  Mit Zitat antworten Zitat
DSeven
 
#3
  Alt 13. Apr 2005, 05:26
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
  Mit Zitat antworten Zitat
MathiasSimmack
 
#4
  Alt 13. Apr 2005, 09:04
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".

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.
  Mit Zitat antworten Zitat
MathiasSimmack
 
#5
  Alt 22. Apr 2005, 20:44
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.
  Mit Zitat antworten Zitat
MathiasSimmack
 
#6
  Alt 17. Mai 2005, 22:35
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.
  Mit Zitat antworten Zitat
MathiasSimmack
 
#7
  Alt 3. Aug 2005, 20:21
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.
  Mit Zitat antworten Zitat
Robert_G
 
#8
  Alt 3. Aug 2005, 20:28
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...
  Mit Zitat antworten Zitat
Robert_G
 
#9
  Alt 3. Aug 2005, 22:20
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!
  Mit Zitat antworten Zitat
MathiasSimmack
 
#10
  Alt 4. Aug 2005, 06:49
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 ... ... irgendwie habe ich dabei eine Endlosschleife o.ä. produziert, wodurch #d nicht mehr lief.


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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr.
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