awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nsf avatar

nsf/gocode

0
View on GitHub↗
4,993 Stars·654 Forks·Go·MIT·4 Aufrufe

Gocode

gocode ist ein Language-Server-Backend und Autovervollständigungs-Daemon für die Programmiersprache Go. Er fungiert als statischer Code-Analysator und Symbol-Indexer, der Texteditoren Echtzeit-Vorschläge für Bezeichner und Symbole liefert.

Das Projekt nutzt eine Client-Server-Daemon-Architektur, um einen persistenten Hintergrundprozess aufrechtzuerhalten und den Overhead beim Neuladen von Paket-Metadaten für jede Anfrage zu vermeiden. Es verwendet ein zweistufiges Metadaten-Caching-System und parst kompilierte Paket-Binaries, um schnelle Symbol-Lookups und das Abrufen von Deklarationen zu ermöglichen.

Das System deckt breite Funktionsbereiche ab, einschließlich kontextsensitiver Autovervollständigung für Member-Felder, Funktionssignaturen und Variablen sowie automatischer Code-Formatierung. Es verwaltet die lexikalische Scope-Verfolgung und rekursive Symbolauflösung, um präzise Typ- und Variablenvervollständigungen zu gewährleisten.

Administrative Dienstprogramme ermöglichen die Daemon-Konfiguration, Steuerung des Zustands und einen Debug-Modus mit detailliertem Logging zur Überwachung des Hintergrundprozesses.

Features

  • Language Server Backends - Implements a daemon that manages code analysis and formatting for various programming environments.
  • Language Server Daemons - Maintains a persistent background process to avoid the overhead of reloading package metadata for every completion request.
  • Contextual Code Understanders - Parses source code around the cursor to identify types and expressions for providing accurate completion suggestions.
  • Code Completion - Analyzes source code and binary data to suggest appropriate completions for identifiers and declarations.
  • Go Code Completers - Gopls analyzes source code to suggest relevant identifiers and types to accelerate the development process.
  • Symbolic Resolution - Traverses nested lexical levels and package imports to map identifiers to their original declarations.
  • Lexical Scope Tracking - Analyzes nested block levels and declaration visibility to resolve identifiers and maintain correct naming contexts.
  • Language Server Integrations - Implements the Language Server Protocol to provide IDE-agnostic code intelligence and formatting data.
  • Variable and Type Completions - Gopls analyzes source code to suggest variable names, functions, and types as a developer types in an editor.
  • Autocompletion Engines - Delivers real-time suggestions for variables, functions, and types while writing Go code.
  • Binary Parsing - Reads compiled Go object files to extract type and symbol information without requiring a full source analysis.
  • Go Development Tooling - Provides background services that analyze Go source code and compiled binaries to accelerate development.
  • Symbol Scope Tracking - Tracks declarations across nested lexical levels to resolve names and maintain visibility rules for code completion.
  • Autocompletion Daemons - Operates as a background process analyzing Go source and binaries to provide real-time symbol suggestions.
  • Static Code Analyzers - Tracks lexical scopes and resolves package imports to ensure accurate type and variable completions.
  • Static Analysis - Uses static analysis of package metadata and source identifiers to enable contextual code completions.
  • Code Autocomplete Engines - Suggests relevant identifiers based on the current cursor position and surrounding code to speed up development.
  • Declaration Caches - Caches parsed source files and top-level declarations to speed up code completion lookups.
  • Two-Tier Metadata Caching - Stores parsed source declarations and binary package data in local memory for fast symbol lookups.
  • Compiled Code Indexing - Reads binary export data from compiled packages to extract type and declaration information.
  • Code Formatting Tools - Provides automated source code formatting to ensure a consistent coding style upon saving documents.
  • Package Caches - Stores parsed exported declarations from package archives to enable high-performance symbol lookups.
  • Signature and Snippet Completion - Suggests function signatures, return types, and argument snippets to accelerate the writing process.
  • Symbol Indexing - Parses and caches exported declarations from Go package archives to enable fast symbol lookups.
  • Partial Source Isolation - Extracts fragments of source code around the cursor to bypass parser errors in incomplete files.
  • Code Completion Member Listers - Suggests language identifiers and symbols automatically as a user accesses member fields of an object.
  • Parser Scope Isolation - Separates functions containing the cursor from the rest of the source code to prevent parser errors.
  • Editor Plugins - Provides fast autocompletion for Go code.

Star-Verlauf

Star-Verlauf für nsf/gocodeStar-Verlauf für nsf/gocode

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht nsf/gocode?

gocode ist ein Language-Server-Backend und Autovervollständigungs-Daemon für die Programmiersprache Go. Er fungiert als statischer Code-Analysator und Symbol-Indexer, der Texteditoren Echtzeit-Vorschläge für Bezeichner und Symbole liefert.

Was sind die Hauptfunktionen von nsf/gocode?

Die Hauptfunktionen von nsf/gocode sind: Language Server Backends, Language Server Daemons, Contextual Code Understanders, Code Completion, Go Code Completers, Symbolic Resolution, Lexical Scope Tracking, Language Server Integrations.

Welche Open-Source-Alternativen gibt es zu nsf/gocode?

Open-Source-Alternativen zu nsf/gocode sind unter anderem: rust-lang/rls — RLS is a language server that provides language intelligence for the Rust programming language. It implements the… amir9480/vscode-laravel-extra-intellisense — This is a Visual Studio Code extension that provides framework-specific IntelliSense for Laravel projects. It acts as… emacs-lsp/lsp-mode — lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis… spf13/spf13-vim — This project is a Vim configuration distribution and IDE framework designed to transform Vim into a full-featured… golang/vscode-go — This project is a language extension for VS Code that provides comprehensive Go language support. It functions as a… maskray/ccls — ccls is a language server providing code completion, navigation, and semantic analysis for C and C++ projects. It…

Open-Source-Alternativen zu Gocode

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Gocode.
  • rust-lang/rlsAvatar von rust-lang

    rust-lang/rls

    3,509Auf GitHub ansehen↗

    RLS is a language server that provides language intelligence for the Rust programming language. It implements the Language Server Protocol to enable a standardized communication layer between the Rust compiler and various editor clients. The project focuses on providing real-time code completions, symbol navigation, and type information. It also supports automated structural changes, such as workspace-wide symbol renaming, to maintain semantic correctness during refactoring. The system incorporates static code analysis for linting and formatting, alongside a mechanism for incremental compila

    Rustidelanguage-server-protocolrust
    Auf GitHub ansehen↗3,509
  • amir9480/vscode-laravel-extra-intellisenseAvatar von amir9480

    amir9480/vscode-laravel-extra-intellisense

    4,115Auf GitHub ansehen↗

    This is a Visual Studio Code extension that provides framework-specific IntelliSense for Laravel projects. It acts as a project metadata provider, scanning PHP files and extracting application state to offer intelligent autocomplete for routes, views, configuration keys, and model attributes. The tool includes a specialized suggestion engine for Blade templates, providing autocomplete for directives, sections, and stacks. It supports containerized development by routing commands through virtual environments or custom paths to ensure metadata is accurately extracted from isolated project direc

    TypeScriptautocompleteintellisenselaravel
    Auf GitHub ansehen↗4,115
  • emacs-lsp/lsp-modeAvatar von emacs-lsp

    emacs-lsp/lsp-mode

    5,060Auf GitHub ansehen↗

    lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen

    Emacs Lispangularcppdart
    Auf GitHub ansehen↗5,060
  • spf13/spf13-vimAvatar von spf13

    spf13/spf13-vim

    15,501Auf GitHub ansehen↗

    This project is a Vim configuration distribution and IDE framework designed to transform Vim into a full-featured development environment. It functions as an environment bootstrapper that automates the cloning and installation of editor configurations and plugin bundles to ensure a consistent setup across different machines. The distribution uses a structured layer of settings and overrides, allowing users to customize the environment via local and fork-specific files without modifying the base source. It provides a curated collection of extensions that enable IDE-like capabilities for code n

    Vim Script
    Auf GitHub ansehen↗15,501
Alle 30 Alternativen zu Gocode anzeigen→