gobo-vscode

Gobo Eiffel for Visual Studio Code

Bring the power of the Gobo Eiffel toolchain directly into Visual Studio Code, providing full language support for the Eiffel programming language. This extension lets you edit, navigate, compile and run Eiffel programs seamlessly β€” ideal for both beginners discovering Eiffel and experienced developers who want an efficient workflow.

πŸš€ Quick Start

Start coding in Eiffel instantly β€” no setup, no configuration, just run your first program in seconds!
Gobo Eiffel supports both Beginner mode for a single file and Advanced mode for full workspace projects with ECF files.

1️⃣ Beginner: Hello World

If you are new to Eiffel, follow our Eiffel For Beginners guide.
It shows how to create a simple hello_world.e file, compile it, and run it in VS Code.

Note: No ECF file is needed for this simple workflow.

2️⃣ Advanced: Workspace with ECF File

For full projects with multiple classes, libraries, or targets:

  1. Open your Eiffel project folder in VS Code.

  2. Specify your workspace ECF file and target:
    • Right-click the ECF file β†’ Eiffel Configuration β†’ Select Current File As Workspace ECF File
    • Or right-click another file β†’ Eiffel Configuration β†’ Select Workspace ECF File
  3. You now have full access to:
    • Code navigation (definitions, implementations, types)
    • Feature callers/callees exploration
    • Client/supplier relationships
    • Inheritance hierarchy exploration
    • Code completion
    • Inline error reporting as you type
    • Compilation and execution

🧩 At a Glance

Capability Description
Syntax highlighting Full Eiffel syntax grammar with modern highlighting
Code completion Context-aware completion for classes and features
Navigation Jump to definitions, implementations and types
Hierarchy exploration Call hierarchy, client/supplier relationships and inheritance trees
Compilation Compile and run Eiffel programs directly from VS Code
Error reporting Inline errors and integration with the Problems panel
Execution Launch configurations
Integrated terminal Preconfigured Gobo Eiffel command-line environment

✨ Features

🧭 Code Navigation

The Gobo Eiffel extension provides rich navigation features that are fully integrated with standard VS Code commands and tailored to the Eiffel language.

You can quickly explore classes, features, inheritance hierarchies, and type relationships across your entire workspace, including library code.

Symbol Navigation

Hierarchy Exploration

Understand relationships between features and classes through call hierarchies, dependency relationships, and inheritance trees.

βš™οΈ User Settings

You can customize the extension in VS Code’s Settings (File β†’ Preferences β†’ Settings β†’ Extensions β†’ Gobo Eiffel) or via settings.json.

Setting Description Default
gobo-eiffel.automaticUpdateCheck Automatically checks for new Gobo Eiffel releases. true
gobo-eiffel.useNightlyBuild Use Gobo Eiffel nightly build instead of the latest release. false
gobo-eiffel.workspaceEcfFile ECF file to analyze Eiffel classes in current workspace. null
gobo-eiffel.workspaceEcfTarget Target in ECF file to analyze Eiffel classes in current workspace. null

The last two settings are workspace-specific settings used to specify the workspace ECF file, which allows the Eiffel analyzer to discover and analyze the classes used in the current project.

You can also create multiple launch configurations in .vscode/launch.json with different arguments or environment variables for each program.

πŸ“¦ Commands

All commands are available from the Command Palette or contextual menus:

πŸ“š More Information


Happy Eiffel coding in VS Code! πŸš€