Skip to Content
Genexy IDE Beta 0.9.1 · Download the Beta build
Genexy FeaturesCode Intelligence
Features

Code Intelligence

FREEIDELanguage servers: desktop only

Beyond syntax highlighting, the editor can talk to a language server for the file you are editing. When one is running, you get project-aware assistance instead of text matching.

When a language server is available the editor adds completion, signature help, hover documentation, go-to-definition, find references and inline diagnostics. The status bar reports setup and restart progress.

What a language server adds

  • Completion: members, types and symbols valid at the cursor.
  • Signature help: the parameter list of the call you are inside, with the active parameter marked.
  • Hover documentation: the type and documentation of the symbol under the pointer.
  • Go to definition: jump to where a symbol is declared, including into dependencies when the server resolves them.
  • Find references: every usage of a symbol across the project.
  • Diagnostics: errors and warnings reported inline as you type and on save.
  • Semantic highlighting: colouring based on what a token actually is, not just how it looks.

Supported languages

Genexy fully supports the following languages and formats: syntax highlighting everywhere, plus completion, hover, navigation and diagnostics from a language server on desktop.

Language or formatFilesLanguage serverInstalled by Genexy using
JavaScript.js, .jsx, .mjs, .cjstypescript-language-servernpm
TypeScript.ts, .tsx, .mts, .ctstypescript-language-servernpm
SQL.sql, .ddlsqlsdownload
HTML.html, .htm, .xhtmlvscode-html-language-servernpm
CSS, SCSS, Less.css, .scss, .lessvscode-css-language-servernpm
Python.py, .pyi, .pywPyrightnpm
Bash / Shell.sh, .bash, .zsh, .kshbash-language-servernpm
Java.javaEclipse JDT.LSdownload (needs JDK 17+)
C#.cscsharp-ls.NET SDK
PowerShell.ps1, .psm1, .psd1PowerShell Editor Servicesdownload (needs pwsh on macOS/Linux)
C, C++.c, .h, .cpp, .cc, .cxx, .hppclangdnot installed by Genexy: install LLVM
Rust.rsrust-analyzerrustup
PHP.php, .phtmlIntelephensenpm
Go.go, go.mod, go.workgoplsGo toolchain
Kotlin.kt, .ktskotlin-language-serverdownload (needs JDK 17+)
Lua.lualua-language-serverdownload
Assembly.asm, .s, .nasmasm-lspdownload on macOS and Linux x64, cargo elsewhere
Swift.swiftSourceKit-LSPnot installed by Genexy: install the Swift toolchain or Xcode
Ruby.rb, .rake, .gemspec, GemfileRuby LSPgem
Dart.dartDart analysis servernot installed by Genexy: part of the Dart or Flutter SDK
DockerfileDockerfile, Dockerfile.*docker-langservernpm
Protocol Buffers.protobufnpm
OpenAPI.yaml, .yml, .json with an openapi: or swagger: keyyaml-language-servernpm
AsyncAPI.yaml, .yml, .json with an asyncapi: keyyaml-language-servernpm
GraphQL.graphql, .graphqls, .gqlGraphQL Language Servicenpm

Genexy manages the servers for you: it looks at the project, installs what is missing into ~/.genexy/lsp, and starts the server in the background when you open a matching file. Installation uses the toolchain already on your machine, as listed above. If that toolchain is missing, the language stays without a server and the editor falls back to highlighting only. The Language Servers tab of Problems shows what each server needs and gives the install commands for the three that Genexy cannot install itself.

A few details per language:

  • OpenAPI and AsyncAPI are recognised from the document’s top-level key, not its name. The document is validated against the official JSON Schema for its version (OpenAPI 2.0 to 3.2, AsyncAPI 2.x and 3.x), with completion and hover documentation for every field. Other YAML and JSON files are left alone.
  • GraphQL reads your schema from a GraphQL config  file (.graphqlrc, graphql.config.*). Without one the server is running, but it has no schema to complete against.
  • SQL completion of tables and columns needs a database connection in sqls’ own configuration file ; without one you get keywords and syntax checks.
  • C and C++ need a compile_commands.json (or CMakeLists.txt) for accurate results, as with clangd anywhere.

Highlighting-only languages

Every other language the bundled Monaco editor knows is highlighted, without completion or diagnostics:

ABAP, Apex, ATS, Azure CLI, Batch (.bat, .cmd), Bicep, CameLIGO, Clojure, CoffeeScript, CSP, Cypher, DAX, ECL, Elixir, F#, Flow9, FreeMarker, Handlebars, HCL / Terraform, INI and .properties, Julia, Lexon, Liquid, Markdown, MDX, Modula-3, Objective-C, Pascal, PascaLIGO, Perl, Power Query M, Pug, Q#, R, Razor, Redis, reStructuredText, Scala, Scheme, Small Basic, Solidity, Sophia, SPARQL, Structured Text (IEC 61131-3), SystemVerilog, Tcl, Twig, TypeSpec, Visual Basic, WGSL and XML.

YAML and JSON files that are not OpenAPI or AsyncAPI documents are highlighted too, and JSON additionally gets Monaco’s built-in syntax validation.

Setup progress and restarting

The status bar reports each phase: scanning the project, installing a server, starting it, and finished. If a server stops responding after large external changes, restart it for that language rather than restarting the IDE.

Language servers are separate processes started on your device, so they are a desktop capability. Editing, search and highlighting work everywhere; project-aware completion and diagnostics depend on a server being available.

⚠️

Installing a server downloads it from that language’s public registry (npm, RubyGems, NuGet, the Go module proxy) or from the project’s GitHub releases. Validating an OpenAPI or AsyncAPI document downloads the official JSON Schema from spec.openapis.org or asyncapi.com; only the schema is requested, the document is not sent. Your source code is sent to the local server process, never to Genexy.