Skip to main content

Editor Integration

Datoria provides deep editor integration through the Language Server Protocol (LSP), bringing powerful features directly to your development environment.

Installation

For installation instructions, see Setup Datoria Core.

Key Features

Note that we get a lot of functionality "for free" by using TypeScript. Typically, your editor will already have support for it, so "go to definition" and so on works by default.

Completion for SQL

code_completion

The Language Server provides intelligent autocompletion as you type, including:

  • SQL keywords and syntax specific to your database engine
  • Table and column names from your data platform
  • Schema-aware suggestions that understand your data model

This speeds up development dramatically and reduces errors by suggesting the right options in context.

Rendered SQL Fragment Visualization

render_sql

See how your SQL fragments will be rendered at runtime:

  • Preview the final SQL with all variables interpolated
  • Understand template composition and how fragments fit together
  • Verify SQL before execution to catch issues early
  • Explore complex queries without running them

This visualization helps you understand how the TypeScript code translates to actual SQL queries.

Real-time Validation

platform_validation

Validate your code as you type:

  • SQL syntax checking against your actual database engine
  • Schema compatibility verification between sources and destinations
  • Dependency analysis to catch circular references or missing dependencies
  • TypeScript type checking for your entire data platform

Problems are highlighted directly in your editor, with detailed explanations.

Actionable Error Messages

error_message

When errors occur, Datoria provides clear guidance:

  • Precise error locations with line and column indicators
  • Detailed explanations that describe both the problem and solution
  • Context-aware suggestions for fixing common issues

This helps you quickly understand and resolve issues without leaving your editor.