YOLO Vision 2026:

Ultralytics VS Code Extension#



Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉

Funktionen und Vorteile#

✅ Bist du Data Scientist oder Machine Learning-Engineer und entwickelst Computer-Vision-Anwendungen mit Ultralytics?

✅ Nervt es dich, ständig dieselben Codeblöcke neu schreiben zu müssen?

✅ Vergisst du auch ständig die Argumente oder Standardwerte für die Methoden export, predict, train, track oder val?

✅ Möchtest du mit Ultralytics durchstarten und wünschst dir eine einfachere Möglichkeit, Code-Beispiele nachzuschlagen oder auszuführen?

✅ Möchtest du deinen Entwicklungszyklus bei der Arbeit mit Ultralytics beschleunigen?

Wenn du Visual Studio Code nutzt und eine der obigen Fragen mit „Ja“ beantwortet hast, dann ist die Ultralytics-snippets-Erweiterung für VS Code genau das Richtige für dich! Lies weiter, um mehr über die Erweiterung zu erfahren und zu lernen, wie du sie installierst und verwendest.


Snippet Prediction Preview
Run example code using Ultralytics YOLO in under 20 seconds! 🚀

Inspiriert durch die Ultralytics Community#

Die Inspiration für diese Erweiterung kam aus der Ultralytics Community. Fragen aus der Community zu ähnlichen Themen und Beispielen haben die Entwicklung dieses Projekts vorangetrieben. Zudem nutzen viele Mitglieder des Ultralytics-Teams VS Code, um ihre eigene Arbeit zu beschleunigen ⚡.

Warum VS Code?#

Visual Studio Code ist bei Entwicklern weltweit extrem beliebt und wurde in der Stack Overflow Developer Survey in den Jahren 2021, 2022, 2023 und 2024 auf den ersten Platz gewählt. Aufgrund des hohen Grades an Anpassbarkeit, der integrierten Funktionen, der breiten Kompatibilität und der Erweiterbarkeit von VS Code überrascht es nicht, dass so viele Entwickler es nutzen. Angesichts der Beliebtheit in der breiteren Entwickler-Community und innerhalb der Ultralytics-Communitys auf Discord, Discourse, Reddit und GitHub lag es nahe, eine VS Code-Erweiterung zu entwickeln, die deinen Workflow optimiert und deine Produktivität steigert.

Möchtest du uns wissen lassen, womit du Code entwickelst? Besuche unsere Discourse-Community-Umfrage und sag es uns! Schau dir dort bei Gelegenheit doch auch einige unserer favorisierten Computer-Vision-, Machine-Learning-, KI- und Entwickler-Memes an oder poste gleich deine eigenen!

Installation der Erweiterung#

Hinweis

Jede Code-Umgebung, die die Installation von VS Code-Erweiterungen ermöglicht, sollte mit der Ultralytics-snippets-Erweiterung kompatibel sein. Nach der Veröffentlichung der Erweiterung wurde festgestellt, dass sich auch neovim mit VS Code-Erweiterungen kompatibel machen lässt. Weitere Informationen findest du im Installationsabschnitt für neovim der Readme im Ultralytics-Snippets-Repository.

Installation in VS Code#

  1. Navigiere zum Erweiterungsmenü in VS Code oder verwende das Tastenkürzel Ctrl+Shift ⇑+x und suche nach Ultralytics-snippets.

  2. Klicke auf den Install-Button.


VS Code extension menu

Installation über den VS Code Extension Marketplace#

  1. Besuche den VS Code Extension Marketplace und suche nach Ultralytics-snippets oder rufe direkt die Erweiterungsseite im VS Code Marketplace auf.

  2. Klicke auf den Install-Button und erlaube deinem Browser, eine VS Code-Sitzung zu starten.

  3. Befolge alle Anweisungen, um die Erweiterung zu installieren.


VS Code marketplace extension install
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets

Verwendung der Ultralytics-Snippets-Erweiterung#

  • 🧠 Intelligente Code-Vervollständigung: Schreibe Code schneller und präziser mit erweiterten Vervollständigungsvorschlägen, die auf die Ultralytics API zugeschnitten sind.

  • Erhöhte Entwicklungsgeschwindigkeit: Spare Zeit, indem du repetitive Programmieraufgaben eliminierst und vorgefertigte Code-Snippet-Blöcke nutzt.

  • 🔬 Verbesserte Code-Qualität: Schreibe saubereren, konsistenteren und fehlerfreien Code mit intelligenter Code-Vervollständigung.

  • 💎 Optimierter Workflow: Konzentriere dich auf die Kernlogik deines Projekts, indem du häufige Aufgaben automatisierst.

Übersicht#

Die Erweiterung funktioniert nur, wenn der Language Mode auf Python 🐍 eingestellt ist. Damit soll vermieden werden, dass Snippets bei der Arbeit mit anderen Dateitypen eingefügt werden. Alle Snippets haben ein Präfix, das mit ultra beginnt, und wenn du nach der Installation der Erweiterung einfach ultra in deinen Editor eingibst, wird eine Liste der verfügbaren Snippets angezeigt. Du kannst auch die VS Code-Befehlspalette mit Ctrl+Shift ⇑+p öffnen und den Befehl Snippets: Insert Snippet ausführen.

Code-Snippet-Felder#

Viele Snippets enthalten „Felder“ mit Standard-Platzhalterwerten oder -Namen. Beispielsweise könnte die Ausgabe der predict-Methode in einer Python-Variablen namens r, results, detections, preds oder einem beliebigen anderen Namen gespeichert werden, den ein Entwickler wählt – genau deshalb enthalten Snippets „Felder“. Wenn du nach dem Einfügen eines Snippets Tab ⇥ auf deiner Tastatur drückst, springt dein Cursor schnell zwischen den Feldern hin und her. Sobald ein Feld ausgewählt ist, ändert die Eingabe eines neuen Variablennamen nicht nur diese eine Instanz, sondern auch jede andere Instanz dieses Variablennamens im Snippet-Code!


Multi-update field and options
After inserting snippet, renaming model as world_model updates all instances. Pressing Tab ⇥ moves to the next field, which opens a dropdown menu and allows for selection of a model scale, and moving to the next field provides another dropdown to choose either world or worldv2 model variant.

Code-Snippet-Vervollständigungen#

Noch _kürzere_ Abkürzungen

Es ist nicht erforderlich, das vollständige Präfix des Snippets zu tippen oder überhaupt am Anfang des Snippets zu beginnen. Siehe das Beispiel im Bild unten.

Die Snippets sind so aussagekräftig wie möglich benannt, allerdings bedeutet das auch, dass es viel zu tippen gibt, was kontraproduktiv wäre, wenn das Ziel darin besteht, schneller voranzukommen. Zum Glück lässt VS Code Benutzer ultra.example-yolo-predict, example-yolo-predict, yolo-predict oder sogar ex-yolo-p eintippen und dennoch das gewünschte Snippet erreichen! Wenn das gewünschte Snippet tatsächlich ultra.example-yolo-predict-kwords war, markierst du das gewünschte Snippet einfach mit den Pfeiltasten oder deiner Tastatur und fügst den korrekten Codeblock durch Drücken von Enter ↵ oder Tab ⇥ ein.


VS Code incomplete code snippet preview
Typing ex-yolo-p will still arrive at the correct snippet.

Snippet-Kategorien#

Dies sind die aktuell verfügbaren Snippet-Kategorien für die Erweiterung Ultralytics-snippets. In Zukunft werden weitere hinzugefügt. Achte daher auf Updates und aktiviere am besten die automatischen Updates für die Erweiterung. Du kannst auch weitere Snippets anfordern, falls du das Gefühl hast, dass etwas fehlt.

KategorieStart-PräfixBeschreibung
Beispieleultra.examplesBeispielcode zum Lernen oder für den Einstieg in Ultralytics. Beispiele sind Kopien von oder ähnlich dem Code aus den Dokumentationsseiten.
Kwargsultra.kwargsBeschleunige die Entwicklung, indem du Snippets für die Methoden train, track, predict und val mit allen Schlüsselwortargumenten und Standardwerten hinzufügst.
Importsultra.importsSnippets zum schnellen Importieren gängiger Ultralytics-Objekte.
Modelleultra.yoloFüge Codeblöcke zum Initialisieren verschiedener Modelle (yolo, sam, rtdetr usw.) einschließlich Dropdown-Konfigurationsoptionen ein.
Ergebnisseultra.resultCodeblöcke für häufige Operationen bei der Arbeit mit Inferenzergebnissen.
Hilfsprogrammeultra.utilBietet schnellen Zugriff auf gängige Hilfsprogramme, die in das Ultralytics-Paket integriert sind. Erfahre mehr darüber auf der Seite Simple Utilities.

Lernen mit Beispielen#

Die ultra.examples-Snippets sind sehr nützlich für alle, die lernen möchten, wie man mit den Grundlagen der Arbeit mit Ultralytics YOLO beginnt. Beispiel-Snippets sind so konzipiert, dass sie nach dem Einfügen sofort ausgeführt werden können (einige verfügen ebenfalls über Dropdown-Optionen). Ein Beispiel dafür zeigt die Animation am Anfang dieser Seite, bei der nach dem Einfügen des Snippets der gesamte Code ausgewählt und interaktiv über Shift ⇑+Enter ↵ ausgeführt wird.

Beispiel

Genau wie die Animation am Anfang dieser Seite zeigt, kannst du das Snippet ultra.example-yolo-predict verwenden, um das folgende Codebeispiel einzufügen. Nach dem Einfügen ist die einzige konfigurierbare Option die Modellskalierung, welche eine der folgenden sein kann: n, s, m, l oder x.

from ultralytics import ASSETS, YOLO

model = YOLO("yolo26n.pt", task="detect")
results = model(source=ASSETS / "bus.jpg")

for result in results:
    print(result.boxes.data)
    # result.show()  # uncomment to view each result image

Entwicklung beschleunigen#

Das Ziel von anderen Snippets als ultra.examples besteht darin, die Entwicklung bei der Arbeit mit Ultralytics einfacher und schneller zu machen. Ein in vielen Projekten häufig verwendeter Codeblock besteht darin, über die Liste von Results zu iterieren, die von der Modell-predict-Methode zurückgegeben wird. Das Snippet ultra.result-loop kann dabei helfen.

Beispiel

Die Verwendung von ultra.result-loop fügt den folgenden Standardcode (einschließlich Kommentaren) ein.

# reference https://docs.ultralytics.com/modes/predict#working-with-results

for result in results:
    result.boxes.data  # torch.Tensor array

Da Ultralytics jedoch zahlreiche Aufgaben unterstützt, gibt es bei der Arbeit mit Inferenzergebnissen weitere Results-Attribute, auf die du möglicherweise zugreifen möchtest – genau hier erweisen sich die Snippet-Felder als leistungsstarkes Werkzeug.


VS Code YOLO results visualization options
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.

Keyword-Argumente#

Es gibt über 💯 Schlüsselwortargumente für all die verschiedenen Ultralytics-Aufgaben und -Modi! Das sind eine Menge Details, die man sich merken muss, und man vergisst leicht, ob das Argument save_frame oder save_frames heißt (es ist übrigens definitiv save_frames). Hier können die ultra.kwargs-Snippets weiterhelfen!

Beispiel

Um die predict-Methode einschließlich aller Inferenzargumente einzufügen, verwende ultra.kwargs-predict, wodurch der folgende Code (einschließlich Kommentaren) eingefügt wird.

model.predict(
    source=src,  # (str, optional) source directory for images or videos
    imgsz=640,  # (int | list) input images size as int or list[h,w] for predict
    conf=0.25,  # (float) minimum confidence threshold
    iou=0.7,  # (float) intersection over union (IoU) threshold for NMS
    vid_stride=1,  # (int) video frame-rate stride
    stream_buffer=False,  # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)
    visualize=False,  # (bool) save class activation heatmaps
    augment=False,  # (bool) apply image augmentation to prediction sources
    agnostic_nms=False,  # (bool) class-agnostic NMS
    classes=None,  # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
    retina_masks=False,  # (bool) use high-resolution segmentation masks
    embed=None,  # (list[int], optional) return feature vectors/embeddings from given layers
    show=False,  # (bool) show predicted images and videos if environment allows
    save=True,  # (bool) save prediction results
    save_frames=False,  # (bool) save predicted individual video frames
    save_txt=False,  # (bool) save results as .txt file
    save_conf=False,  # (bool) save results with confidence scores
    save_crop=False,  # (bool) save cropped images with results
    stream=False,  # (bool) for processing long videos or numerous images with reduced memory usage by returning a generator
    verbose=True,  # (bool) enable/disable verbose inference logging in the terminal
)

Dieses Snippet enthält Felder für alle Schlüsselwortargumente, aber auch für model und src, falls du in deinem Code eine andere Variable verwendet hast. In jeder Zeile, die ein Schlüsselwortargument enthält, befindet sich eine kurze Beschreibung als Referenz.

Alle Code-Snippets#

Der beste Weg herauszufinden, welche Snippets verfügbar sind, besteht darin, die Erweiterung herunterzuladen, zu installieren und auszuprobieren! Wenn du neugierig bist und dir die Liste vorher ansehen möchtest, kannst du das Repo oder die Erweiterungsseite im VS Code Marketplace besuchen, um die Tabellen aller verfügbaren Snippets einzusehen.

Fazit#

Die Ultralytics-Snippets-Erweiterung für VS Code soll Data Scientists und Machine Learning Engineers dabei unterstützen, Computer-Vision-Anwendungen mit Ultralytics YOLO noch effizienter zu entwickeln. Durch die Bereitstellung vorgefertigter Code-Snippets und nützlicher Beispiele helfen wir dir, dich auf das Wesentliche zu konzentrieren: die Entwicklung innovativer Lösungen. Bitte teile uns dein Feedback mit, indem du die Erweiterungsseite im VS Code Marketplace besuchst und eine Bewertung hinterlässt. ⭐

FAQ#

  • Neue Snippets können über die Issues im Ultralytics-Snippets-Repo angefragt werden.

  • Sie ist 100% kostenlos!

  • VS Code verwendet die Tastenkombination Ctrl+Space, um mehr oder weniger Informationen im Vorschaufenster anzuzeigen. Wenn du beim Tippen eines Code-Snippet-Präfixes keine Vorschau siehst, sollte diese Tastenkombination die Vorschau wiederherstellen.

  • Wenn du VS Code verwendest und eine Nachricht erhalten hast, die dich auffordert, die Ultralytics-snippets-Erweiterung zu installieren, und diese Nachricht nicht mehr sehen möchtest, gibt es zwei Wege, dies zu deaktivieren.

    1. Installiere Ultralytics-snippets und die Nachricht wird nicht mehr angezeigt 😆!

    2. Du kannst yolo settings vscode_msg=False verwenden, um das Anzeigen der Nachricht zu deaktivieren, ohne die Erweiterung installieren zu müssen. Weitere Informationen zu den Ultralytics-Einstellungen findest du auf der Quickstart-Seite, falls du damit nicht vertraut bist.

  • Besuche das Ultralytics-snippets-Repo und öffne ein Issue oder einen Pull Request!

  • Wie jede andere VS Code-Erweiterung kannst du sie deinstallieren, indem du zum Erweiterungsmenü in VS Code navigierst. Suche die Ultralytics-snippets-Erweiterung im Menü, klicke auf das Zahnrad-Symbol (⚙) und dann auf „Uninstall“, um die Erweiterung zu entfernen.


    VS Code extension menu

Kommentare