Zu Cloud Code for IntelliJ migrieren

In diesem Dokument wird beschrieben, wie Sie Ihr IntelliJ-basiertes App Engine-Projekt zu Cloud Code for IntelliJ migrieren.

Hinweise

  • Wenn Ihr Projekt auf Maven oder Gradle basiert und ältere App Engine SDK-basierte Plug-ins (z.B. com.google.appengine.appengine-maven-plugin und com.google.appengine:gradle-appengine-plugin) verwendet, sollten Sie zuerst zu den neuen Maven- und Gradle-Plug-ins migrieren, die auf der gcloud CLI basieren.

  • Die Datanucleus-Erweiterung wird im neuen Plug-in nicht unterstützt. Wenn Sie dieses Feature benötigen, müssen Sie die DataNucleus-Erweiterung (JDO, JPA) manuell für Ihr Projekt konfigurieren, bevor Sie zu Cloud Code migrieren. Verwenden Sie Objectify als ORM-Schicht, wenn Sie in Datastore lesen/schreiben.

Neues Plug-in installieren

Installieren Sie das Plug-in, falls noch nicht geschehen. Gehen Sie dafür so vor:

  • Achten Sie darauf, dass Sie die unterstützte IDE-Version, JetBrains-IDE-Version 2022.3 oder höher (z. B. IntelliJ Ultimate/Community, PyCharm Professional/Community, WebStorm, GoLand) auf dem PATH Ihres Computers haben.
  • Öffnen Sie IntelliJ IDEA oder eine der unterstützten JetBrains-IDEs.
  • Öffnen Sie über Datei > Einstellungen > Plug-ins das Marketplace-Fenster des Plug-ins. Verwenden Sie unter Mac OS X IntelliJ IDEA > Einstellungen > Plug-ins.
  • Suchen Sie nach dem Plug-in "Cloud Code" und installieren Sie es.

    Eventuell werden Sie aufgefordert, die IDE neu zu starten, um das Plug-in zu aktivieren.

IntelliJ und Projekt konfigurieren

Nachdem Sie das Plug-in installiert haben, konfigurieren Sie IntelliJ und Ihr Projekt wie folgt, damit das neue Plug-in verwendet wird:

  1. Wenn der Hinweis angezeigt wird, dass das neue Plug-in mit dem vorhandenen Plug-in für die App Engine-Integration in Konflikt steht, klicken Sie auf den Link in der Eingabeaufforderung.

    Screenshot mit dem Hinweis auf den Plug-in-Konflikt
 Klicken Sie auf „Hier klicken“, um das Plug-in zu deaktivieren.

  2. Wählen Sie in der folgenden Eingabeaufforderung "Disable Plugin" die Option "Disable and Restart" aus, um das App Engine-Plug-in zu deaktivieren und die IDE neu zu starten, damit die Plug-in-Konfigurationsänderungen wirksam werden.

    Screenshot mit der Eingabeaufforderung, wo gefragt wird, ob Sie das App Engine-Plug-in deaktivieren und die IDE neu starten möchten

  3. Wenn Sie darauf hingewiesen werden, dass Ihr Projekt in einem alten Format vorliegt, klicken Sie auf Convert, um das Projekt in das neue Format zu konvertieren.

  4. Sie sollten die vorhandenen Server- und Cloudinstanzen von App Engine löschen und mithilfe der neuen gcloud CLI neu erstellen.

    1. Gehen Sie zu Settings > Build, Execution, Deployment > Application Servers.

    2. Wählen Sie Ihre App Engine-Entwicklungsinstanzen aus und klicken Sie auf Delete (-) (Löschen).

    3. Klicken Sie auf Add (+) und wählen Sie Google App Engine Dev Server aus.

      Grafik: Screenshot mit der Liste der Anwendungserver und den Symbolen zum Löschen und Hinzufügen

    4. Gehen Sie zu Settings > Build, Execution, Deployment > Clouds.

    5. Wählen Sie Ihre Google App Engine-Cloudinstanzen aus und klicken Sie auf Delete (-) (Löschen).

    6. Klicken Sie auf Add (+), um ein App Engine-Cloud-Bereitstellungsziel zu konfigurieren.

      Grafik: Screenshot mit der Liste der Cloud-Instanzen und den Symbolen zum Löschen und Hinzufügen

  5. Bei lokalen Serverausführungskonfigurationen für App Engine müssen Sie diese auf den neu konfigurierten Anwendungsserver aktualisieren.

  6. Wechseln Sie zu Tools > Cloud Code > App Engine um die Liste der verfügbaren Aktionen zu sehen, die Ihnen zum Ausführen und Bereitstellen der Anwendung zur Verfügung stehen. Weitere Informationen finden Sie in der Dokumentation.

  7. Prüfen Sie bei Maven- oder Gradle-basierten Projekten, ob Sie die neueste Version der Gradle- und Maven-Plug-ins von App Engine verwenden.

IntelliJ-spezifische Projekte konfigurieren

Die App Engine-Abhängigkeiten müssen nur bei IntelliJ-spezifischen Projekten aktualisiert werden. Dies gilt für Projekte, deren Projekteinstellungen mit dem alten App Engine-Facet manuell konfiguriert wurden und die nicht über Gradle oder Maven synchronisiert werden.

Ihre App Engine-Abhängigkeiten sind weiterhin als "External Libraries" (Externe Bibliotheken) konfiguriert und werden von der alten App Engine SDK-Installation bereitgestellt. Wenn Sie Ihre App Engine SDK-Installation löschen, kann die Anwendung nicht kompiliert werden.

Grafik: Screenshot mit der Liste der externen Bibliotheken

Zum Entfernen dieser Abhängigkeit vom alten App Engine SDK konfigurieren Sie Ihre App Engine API-Abhängigkeiten mit der Bibliotheksimportfunktion des App Engine-Attributs:

  1. Nutzer der Datanucleus-JDO/JPA-Erweiterungsfunktion des alten Plug-ins müssen ihre Anwendungen zu Maven oder Gradle portieren, da die Datanucleus-Erweiterung nicht vom Plug-in "Cloud Tools for IntelliJ" unterstützt wird.

  2. Wechseln Sie von der IntelliJ-Benutzeroberfläche der Projektstruktur zum Tab "Dependencies" (Abhängigkeiten) Ihres App Engine-Standardmoduls.

  3. Entfernen Sie alle App Engine-bezogenen Bibliotheken.

    Grafik: Screenshot mit der Liste der externen Bibliotheken und den Symbolen zum Löschen

  4. Wechseln Sie in der gleichen Benutzeroberfläche der Projektstruktur zum Google App Engine-Attributs Ihres App Engine-Moduls.

  5. Wählen Sie im Bereich für die Bibliotheken die verwendeten App Engine-Abhängigkeiten aus.

    Grafik: Screenshot mit der Liste der verfügbaren Bibliotheken

    Damit werden diese Abhängigkeiten automatisch von Maven Central abgerufen und dem Classpath Ihres Moduls hinzugefügt.

  6. Prüfen Sie anhand einer lokalen Ausführung und Bereitstellung, ob die neue Konfiguration funktioniert.

  7. An diesem Punkt können Sie Ihr altes App Engine SDK bedenkenlos löschen.

Support kontaktieren

So senden Sie Feedback oder melden ein Problem in Ihrer IntelliJ-IDE: Tools > Cloud Code > Hilfe / Info > Feedback geben oder Problem melden, um ein Problem auf GitHub zu melden oder stellen Sie eine Frage zu Stack Overflow.