Wie kann sich Eclipse in der Windows 7-Taskleiste gut verhalten?

87

Alle anderen Apps, die an die Taskleiste angeheftet werden können, verhalten sich gut. Aber Eclipse zeigt keine kürzlich geöffneten Projekte an, wenn ich mit der rechten Maustaste darauf klicke. Es erlaubt auch nicht, einige Projekte darin zu pinnen. Beachten Sie, dass ich die JS-Version von Eclipse Helios habe. Dadurch wird nach dem Laden ein neues und anderes Taskleistensymbol angezeigt.

Jader Dias
quelle
Ich habe festgestellt, dass ich, wenn ich eclipse.exe aus dem Windows Explorer auf die Taskleiste ziehe, es auch anheften kann.
Danca

Antworten:

100

Geben Sie die neueste verfügbare Java-VM in Ihrem Computer an eclipse.ini. Dh:

-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
  1. Stellen Sie sicher, dass sie sich in separaten Zeilen befinden
  2. Alles nach den "vmargs" wird als vm-Argument angesehen

( Mehr Infos )

Oder fügen Sie alternativ den Java- binOrdner PATH vor dem Ordner "windows32" zu Ihrem Windows hinzu, da Eclipse andernfalls "javaw.exe" im win32-Ordner anstelle des JDK-Ordners verwendet.

whlk
quelle
11
Siehe Bug 314805: bugs.eclipse.org/bugs/show_bug.cgi?id=314805#c40 Ich verwende nur das Verzeichnis "bin" unter jdk, z. B. -vm C: / Programme / Java / jdk1.7.0_02 / bin
Usethe4ce
3
Ich benutze jdk1.6.0_25 und stattdessen habe clientich ein serverVerzeichnis, das enthält jvm.dll. Die Angabe dieses Pfads als -vmArgument funktioniert mit Eclipse Java EE (Indigo Service Release 2).
Kohányi Róbert
26
Anfangs funktionierte keine der beiden Optionen für mich (Eclipse 4.2 32 Bit, Windows 7 64 Bit, JDK 1.6 32 Bit). Dann habe ich Folgendes versucht: 1. Klicken Sie mit der rechten Maustaste auf eclipse.exe -> Eigenschaften -> Kompatibilität, aktivieren Sie den Kompatibilitätsmodus mit Windows XP Service Pack 3. 2. Führen Sie Eclipse aus. 3. Warten Sie, bis der Arbeitsbereich geladen ist. 4. An die Taskleiste anheften. 5. Schließen Sie Eclipse. 6. Kompatibilitätseinstellungen aus eclipse.exe entfernt. 7. Führen Sie Eclipse aus. Funktioniert immer noch nicht! 8. Entfernen Sie den Stift von der Taskleiste und stecken Sie ihn erneut fest. (???) 9. Und
jetzt
1
Wow, Marios Way war der erste, der für mich gearbeitet hat. Beachten Sie, dass ich auch das Argument "-vm ..." in eclipse.ini setzen musste (andernfalls würde das Anheften überhaupt nicht möglich sein) und dass ich keine Kompatibilität mit "Windows XP Service Pack 3", sondern mit "Windows Vista" hatte , wahrscheinlich weil ich Eclipse in 64bit benutze ...
Steffen Heil
3
Ich habe Lösung 2 verwendet - Hinzufügen des Ordners bin zu Windows PATH. Das hatte ich bereits getan. Um die Dinge richtig zu machen, musste ich auch Eclipse entfernen, da ich es angeheftet hatte, bevor ich den Pfad aktualisiert hatte, und es dann erneut anheften, nachdem ich es direkt aus dem Eclipse-Ordner heraus gestartet hatte.
Dale
28

Riccardos Lösung aus dem Eclipse-Fehlerbericht hat für mich funktioniert, aber ich erhalte keine kürzlich geöffneten Projekte usw. über die Taskleiste. Hat jemand die Erfahrung gemacht, dass diese Problemumgehungen dieses Verhalten wiederherstellen?

Ich habe das gleiche Problem unter Windows 7 x64 mit Helios x64, aber für mich funktioniert die folgende Problemumgehung mit der Option "Beschriftungen immer kombinieren, ausblenden" für Taskleistenschaltflächen.

  • Überprüfen Sie Ihre "eclipse.ini" auf die angegebene VM und stellen Sie sicher, dass der Pfad auf das bin-Verzeichnis Ihres JDK oder JRE verweist (und nicht auf javaw.exe). Für mich lautet das Argument "D: / Development / Languages ​​/ Java / Development Kit / bin /" ohne Anführungszeichen.
  • Entfernen Sie Eclipse von der Taskleiste oder löschen Sie die Verknüpfung
  • Führen Sie "eclipse.exe" im Explorer aus und wählen Sie Ihren Arbeitsbereich aus
  • Pin Eclipse an die Taskleiste, nachdem der Begrüßungsbildschirm geladen wurde und wenn das Hauptfenster angezeigt wird
Jeff Axelrod
quelle
2
Versuchte alles an diesem Thread - das hat bei mir funktioniert. Das Lösen und erneutes Feststecken war der Schlüssel.
Bill Hanson
2
Der Schlüssel verwendete den Verzeichnispfad zum JDK-Bin und nicht zur ausführbaren Datei. Vielen Dank.
Greg Reynolds
15

Das Einstellen von eclipse.exe in den Kompatibilitätsmodus funktioniert

Codierer
quelle
1
Hahah, weißt du, ich habe das zuerst nicht versucht, weil es zu einfach klang, aber es hat bei mir funktioniert. Jetzt kann ich Helios und Indigo ohne Probleme an meine Taskleiste heften. Hinweis: Ich habe auch noch die .ini-Änderungen vorgenommen. Danke dir! +10000000
Jack
Vergessen Sie nicht, den -vmParameter nach dem Einstellen in den Kompatibilitätsmodus zu entfernen . Als ich beides hatte, konnte die Eclipse überhaupt nicht starten.
Fracz
3
Dies funktioniert in Windows 7, indem der Kompatibilitätsmodus auf Windows Vista eingestellt wird.
starryknight64
Mit Eclipse Mars hat es unglückliche Nebenwirkung des Absturzes EGit
Aivar
4

Ich möchte dies nur für die Win10-Benutzer hinzufügen.

Bearbeiten eclipse.ini, um diese Zeilen am Ende vor der Zeile hinzuzufügen--launcher.appendVmargs:

-vm C:/Program Files/Java/jdk1.8.0/jre/bin/server/jvm.dll

Sie müssen die Kompatibilität auch auf Windows Vista einstellen, damit es funktioniert.

Pieter van Niekerk
quelle
3

Ich denke, es ist wichtig zu erwähnen, dass es zumindest für mich wichtig war, den Pfad zur VM in der eclipse.ini mit Schrägstrichen hinzuzufügen, obwohl ich mit Windows arbeite (7, das heißt). Eclipse wurde nicht gestartet, als ich Backslashes verwendet habe.

Lagerfeuer
quelle
2

Kürzlich hat Timo Kinnunen das Problem aufgezeigt

Edit eclipse.ini finde die Zeile:

--launcher.appendVmargs:

und ändern Sie es in

--launcher.appendVmargs:-vm <PATH_TO_JAVA>/jdk1.8.0/jre/bin/server/jvm.dll

Dies führt dazu, dass die JVM im selben Prozess wie eclipse.exe und nicht als untergeordneter Prozess gestartet wird, und vermeidet die Komplikationen von Hostprozessen mit AppUserModelIDs.

Und es funktioniert !!!

Epikurist
quelle
2

Die bisher hier auf StackOverflow angebotenen Lösungen bieten keine einfache Lösung, um mehrere Finsternisse auszuführen, während jede ihre eigenen hat Application ID, und die Gruppierung von Symbolen wie erwartet zu gestalten. Die Antwort hier enthält einen Verweis auf die zugrunde liegende System.AppUserModel.IDEigenschaft.

Hier ist eine kurze Anleitung :

  1. Machen Sie die -vmEinstellung, wie viele Leute hier erwähnt haben
  2. Führen Sie die Eclipse-App aus
  3. Klicken Sie mit der rechten Maustaste auf das Symbol der laufenden Taskleiste. Pin this program to taskbar
  4. Navigieren Sie zu %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar
  5. Kopieren Sie die neu erstellte Verknüpfung an einen anderen Speicherort. Es wird genannt eclipse, eclipse (2)oder eclipse (3)und so weiter
  6. Klicken Sie mit der rechten Maustaste auf das Symbol der laufenden Taskleiste. Unpin this program from taskbar
  7. Verwenden Sie das Dialogfeld Verknüpfungseigenschaften, um alle einzelnen Felder (Ziel + Parameter, Arbeitsverzeichnis, Symbol usw.) in die neue Verknüpfung zu kopieren
  8. Benennen Sie die neue Verknüpfung um
  9. Ziehen Sie die neue Verknüpfung in die Windows-Taskleiste
  10. Getan

Hier ist ein erweitertes HOWTO , das hilfreich ist, wenn die Symbolgruppierung nach einzelnen Eclipse-Instanzen getrennt werden soll (wenn mehrere Instanzen ausgeführt werden):

  1. Finden Sie zum Beispiel heraus, was Ihr Start-Plugin ist org.eclipse.epp.package.java_2.0.1.20130919-0803. Öffnen Sie die plugin.xmlDatei dieses Ordners.
  2. Bearbeiten Sie den folgenden XML-Speicherort in dieser Datei : /plugin/extension/product/property[@name="appName"], Setzen Sie das Attribut valueauf etwas anderes. Verwenden Sie keine Leerzeichen, halten Sie die Länge unter (bis) 40.
  3. Optional können Sie auch den Fenstertitel festlegen : /plugin/extension/product/property[@name], Attribut nameauf etwas anderes setzen.
  4. Fügen -cleanSie in Ihrer vorhandenen Eclipse-Verknüpfung diese hinzu und führen Sie sie einmal aus. Sie werden feststellen, dass das //product/property[@name]Attribut im Titel des Eclipse-Fensters verwendet wird. Danach können Sie -cleanwieder entfernen .
  5. Folgen Sie dem kurzen HOWTO oben

Eine kurze Erklärung, was hier los ist :

  1. In der .lnk-Datei wird ein Attribut gespeichert, das nicht über das Windows-Dialogfeld "Verknüpfungseigenschaft" eingegeben werden kann. Wenn Sie eine .lnk-Datei kopieren, wird das Attribut mit kopiert.
  2. Kurz gesagt, Windows-Gruppen nach identischen System.AppUserModel.IDEigenschaftenAppID
  3. Eclipse hat AppIDbeim Start keine . Zuerst wird die JVM gestartet, dann wird der Eclipse-Kern / die Eclipse-Plattform gestartet und dann das Start-Plugin geladen. In dieser letzten Phase wird ein API-Aufruf ausgeführt, um AppIDden Wert in einer plugin.xmlDatei festzulegen. Siehe oben: erweitertes HOWTO Punkt 2
  4. Wenn Sie eine manuell erstellte Verknüpfungsdatei .lnk in die Taskleiste ziehen, ist es sinnvoll, dass Windows diese nicht AppIDin die neue 'angeheftete' Version der .lnk-Datei einfügen kann. Es kann nur zur Laufzeit erkannt werden.
  5. Wenn Sie eine Eclipse-Anwendung starten, klicken Sie mit der rechten Maustaste auf das Symbol der laufenden Taskleiste. Pin this program to taskbar-> Dann erkennt Windows die AppIDund speichert sie in der angehefteten .lnk. Teilweise aufgrund der JVM-Prozessumleitung erkennt Windows jedoch nicht die Befehlszeilenparameter, die Umgebung, den Arbeitsordner (zumindest beim Start) und den Symbolpfad + den Symbolindex. Also musst du:
    1. Erstellen Sie eine Dateikopie der .lnk-Datei und füllen Sie die fehlenden Lücken selbst aus
    2. Oder verwenden Sie ein Tool zum Erstellen von Verknüpfungen, das die System.AppUserModel.IDEigenschaften versteht (es gibt viele).
    3. Oder verwenden Sie die Windows-API direkt

Ich hoffe aufrichtig, dass dies die Anzahl der Eclipse-Taskleistensymbole auf den Arbeitsstationen um mich herum verringert.

Prost, TW

Tw Bert
quelle
1
Sehr ausführliche Antwort, danke. Die System.AppUserModel.IDErklärung ist das, wonach ich schon lange gesucht habe!
Stefan Winkler