Sourcegraph: Code-Intelligence-Plattform für große Codebasen

Sourcegraph: Code-Intelligence-Plattform für große Codebasen 106

Eine Code-Intelligence-Plattform für große Codebasen, die über eine einheitliche Suchmaschine und einen KI-Assistenten Repositories von GitHub, GitLab, Bitbucket u. a. zusammenführt und eine 'abfragbare Code-Datenbank' bildet. Sie hilft Entwicklern, Code schnell zu finden, Abhängigkeiten zu verstehen und Massenänderungen durchzuführen.

#Ai工具箱 #Ai编程建站

Sourcegraph: Code-Intelligence-Plattform für große CodebasenEinführung

Sourcegraph ist eine Code-Intelligence-Plattform für große Codebasen, wurde 2013 in den USA gegründet, hat mehrere Finanzierungsrunden in Höhe von insgesamt mehreren hundert Millionen Dollar erhalten und ist heute 2,6 Milliarden Dollar wert. Mit einer einheitlichen Suchmaschine und einem KI-Assistenten verbindet es verstreute Code-Repositories auf GitHub, GitLab, Bitbucket und anderen Plattformen zu einer durchsuchbaren Codebasis, sodass Entwickler Code schnell finden, Abhängigkeiten verstehen und Code in großen Mengen ändern können.

Sourcegraph

Hauptfunktionen von Sourcegraph

  • Repository-übergreifende Codesuche: Volltextsuche, Suche mit regulären Ausdrücken, Suche nach Codestrukturen und Symbolsuche sind möglich. Beispielsweise kann man mit Schreibweisen wie lang:go file:^src/ FUNC(ARGS) auf einmal Hunderte bis Tausende von Repositories durchsuchen.

  • Codenavigation: Man kann zur Definition springen, herausfinden, wo dieser Code verwendet wird, die Aufrufreihenfolge ansehen und prüfen, wer ihn früher geändert hat. Durch die Installation eines Browser-Plugins kann es direkt auf GitHub-Seiten genutzt werden.

  • KI-Assistent Cody: Verwendet Modelle wie DeepSeek-Coder-V2 und Claude 3.7, kann Codezeilen vervollständigen, im Chat Fragen zum Kontext stellen und dateiübergreifend automatisch Änderungen vornehmen. Die Reaktionszeit liegt unter 1 Sekunde, und 40 % der Nutzer übernehmen die Vorschläge.

  • Codebasis-Analyse: Verwandelt Code in abfragbare Daten, ermöglicht die Erstellung eigener Dashboards zur Überwachung technischer Schulden, Versionsupgrade-Fortschritt und Abdeckung von Sicherheitsstandards.

  • Massenänderungen am Code: Erstellt gleichzeitig PRs in mehreren Repositories, mit automatischer Branch-Erstellung, Rollback und Merge. Geeignet für umfangreiche Abhängigkeitsupgrades, API-Wechsel und Sicherheits-Patches.

  • Sicherheit und Compliance: Kann sensible Informationen aufspüren, nach CVE-Schwachstellen suchen und anzeigen, wer der Code-Owner ist. Unterstützt zudem Unternehmens-Sicherheitsfunktionen wie mTLS, SSO und Audit-Logs.

Häufige Einsatzszenarien von Sourcegraph

  • Zentralisierte Code-Verwaltung in großen Unternehmen: Bei Microservices, mehreren Sprachen und zahlreichen Repositories lassen sich schnell die Auswirkungen gemeinsamer Bibliotheken erkennen und Refactoring-Risiken bewerten.

  • Schnelles Onboarding für neue Mitarbeiter: Dank globaler Navigation und KI-Erklärungen wird weniger Zeit für die Einarbeitung in alte Systeme benötigt.

  • Schnellere Code-Reviews: Cody kann zusammenfassen, was geändert wurde, auf Kontextprobleme hinweisen, und die Reviewer können die Änderungen mit einem Klick übernehmen.

  • Sicherheits- und Compliance-Prüfungen: Mit strukturierter Suche lassen sich auf einmal hartcodierte Schlüssel und veraltete Verschlüsselungsalgorithmen finden.

  • Lehre oder Open-Source-Zusammenarbeit: Schulen oder Ausbildungseinrichtungen nutzen es, um die Struktur realer großer Projekte zu zeigen, was den Unterricht praxisnäher macht.

So verwenden Sie Sourcegraph

  1. Registrieren und Repositorys verbinden: Gehen Sie zu sourcegraph.com oder betreiben Sie einen eigenen Server, melden Sie sich mit einem GitHub-/GitLab-Konto an und wählen Sie die zu indexierenden öffentlichen oder privaten Repositories aus.

  2. Suche ausprobieren: Geben Sie im Suchfeld lang:python repo:myorg/.* "requests.get(" ein, um in allen Python-Repositories HTTP-Aufrufe ohne Timeout-Einstellung zu finden.

  3. Cody aktivieren: Klicken Sie in der Seitenleiste auf Cody und geben Sie „Finde alle nicht geschlossenen Datenbankverbindungen" ein. Sie erhalten eine dateiübergreifende Liste mit Lösungsvorschlägen, die direkt per Apply als Patch übernommen werden können.

  4. Code Insight erstellen: Gehen Sie zum Dashboard, klicken Sie auf New Insight, geben Sie die Abfrage file:.(js|ts)$ lodash ein, um zu sehen, wie Frontend-Projekte lodash verwenden, und richten Sie wöchentliche E-Mail-Berichte ein.

  5. Beispiel für Massenänderungen (mit CLI): Installieren Sie zunächst src-cli (brew install sourcegraph/src-cli/src), erstellen Sie eine spec.yml mit name: upgrade-log4j, der Geltungsbereich sind Repositories mit lang:java log4j:1.x, der Schritt verwendet comby, um log4j:1.x durch log4j:2.17.2 zu ersetzen, und führen Sie abschließend src batch apply -f spec.yml aus, um PRs zu generieren.

  6. IDE und CI integrieren: Installieren Sie das VS-Code-Plugin, um direkt im Editor Code zu suchen und Cody zum Vervollständigen von Code zu verwenden; richten Sie in GitHub Actions PR-getriggerte Cody-Reviews ein, um automatisch Risikopunkte zu bewerten.

Sourcegraph ist ein Werkzeug, das Codesuchmaschine, KI-Assistent und Massen-Codeänderungen vereint. Ob Einzelpersonen Open-Source-Projekte schnell verstehen wollen oder Unternehmen Tausende von Repositories verwalten, Sicherheits- und Compliance-Anforderungen erfüllen und KI-gestützte Reviews durchführen müssen – es wird allen Anforderungen gerecht. Probieren Sie zunächst die kostenlose Cloud-Version aus, um die Eignung zu prüfen, und wählen Sie dann je nach Teamgröße Enterprise oder einen eigenen Server, um die Effizienz bei Codesuche, Codeänderung und Codeverwaltung deutlich zu steigern.

Ähnliche Tools zu Sourcegraph: Code-Intelligence-Plattform für große Codebasen