Sourcegraph — это механизм навигации по коду, который неразрушающим образом перестраивает структуру вашего репозитория, чтобы упорядочить его, а также дополняет его интеллектуальным кодом и расширенными возможностями поиска.
Лучше всего, что Sourcegraph только что стал открытым исходным кодом, что означает, что вы можете развернуть его на своих серверах, чтобы активизировать свои частные репозитории.
Когда Docker уже настроен, развертывание выполняется так же просто, как:
docker run —publish 7080: 7080 —rm —volume ~ / .sourcegraph / config: / etc / sourcegraph —volume ~ / .sourcegraph / data: / var / opt / sourcegraph —volume / var / run / docker .sock: /var/run/docker.sock исходный граф / сервер: 2.11.2
сделать Sourcegraph доступным по умолчанию по адресу http: // localhost: 7080
Следующий шаг — настроить его так, чтобы он указывал на ваши репозитории. В дополнение к Github, Sourcegraph поддерживает репозитории с других популярных хостов кода, таких как Gitlab, Bitbucket, AWS CodeCommit или даже тех, которые уже клонированы на диск.
Что касается репозиториев, доступных в общедоступной сети, для их включения не требуется намного больше, чем установка плагина для букмарклета / браузера Sourcegraph, доступного для Chrome и Firefox, который при нажатии преобразует пользовательский интерфейс в мгновение ока. В качестве альтернативы вы можете получить ту же функциональность, добавив путь своего репо к https://sourcegraph.com/github.com/, например, включив https://github.com/PerlDancer/Dancer2
в
https://sourcegraph.com/github.com/PerlDancer/Dancer2
Магия здесь в том, что либо по букмарклету, либо по специальному URL-адресу Sourcegraph схема работает для всех больших и малых репо, даже для моего маленького личного:
https://sourcegraph.com/github.com/nikosvaggalis/Udacity-Advanced-Developer-Nanodegree-Baking-App-2017
Интеллект кода Как, скажем, в Android Studio, вы можете найти определения, реализации и ссылки на функции, всплывающие подсказки, отображающие документацию и подписи типов, и поиск по символу, действие, которое вызывает левое меню, как в JetBrains Dotpeek. обфускатор, содержащий все классы, интерфейсы, методы и т. д., составляющие все приложение. Однако интеллект кода включен только для поддерживаемых языков: Go, Javascript, Typescript, Python, Java, PHP, Swift и экспериментально Bash, Clojure, C ++, C # , CSS, Dockerfile, Elixir, HTML, Lua, OCaml, R, Ruby и Rust.
Репо на языках, которые не поддерживаются
может по-прежнему пользоваться преимуществами организации кода, вкладки символов и расширенных возможностей поиска кода, которые включают:
введите: diff, чтобы проверить, как ваша кодовая база изменилась с течением времени
type: commit для поиска в сообщениях фиксации, как при поиске фиксации с ключевым словом «hook» внутри репо: ^ github \ .com / PerlDancer / Dancer2 $ type: commit hook
тип: символ для фильтрации для поиска результатов символа
которые поддерживают использование регулярных выражений и точных запросов для полнотекстового поиска.