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.
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.
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.
For full projects with multiple classes, libraries, or targets:
-
Open your Eiffel project folder in VS Code.
-
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
-
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
| 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 |
-
Syntax highlighting & language support
Eiffel keywords, comments and strings are highlighted using an up-to-date Eiffel grammar.
-
Code completion
Intelligent auto-completion for Eiffel code as you type, including class names, feature names, and context-aware suggestions based on the current scope and static type information.
-
Feature navigation
Quickly jump to a feature or feature clause within the current class from the Outline panel.
-
Feature signatures
Hover to view variable types and feature signatures directly in tooltips.
-
Go to definition
Navigate instantly to the definition of variables and features using the contextual menu.
-
Compile & run from VS Code
- Command to compile the current Eiffel file from the Command Palette or contextual menus.
- Automatically run after compilation in the Terminal panel.
- Set arguments and environment variables using Launch Configurations.
- Generate and use ECF files for more advanced compilation settings.
-
Inline error reporting
Compilation errors appear as you type, with red squiggles in the Editor and entries in the Problems panel. Click an error to jump directly to its location.
-
Integrated Eiffel Terminal
Open a preconfigured terminal with Gobo Eiffel's environment set up automatically, ready for command-line use.
-
Debug configurations
Easily create launch configurations for your Eiffel programs. Pass custom arguments and environment variables, and choose between compile & run, compile-only or run-only modes from the Run And Debug panel or by pressing
F5. -
Automatic installation of Gobo Eiffel binaries
If needed, the extension can download and install Gobo Eiffel and automatically check for updates.
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.
- Go to Definition: Navigate to the declaration of features, variables, classes, arguments, locals, and other Eiffel symbols.
- Go to Type Definition: Jump directly to the class that defines the type of a symbol.
- Go to Implementations: Explore precursors and redeclarations of features across ancestor and descendant classes.
- Class and Feature Search: Quickly search for classes and features using the VS Code search bar and symbol navigation commands.
Understand relationships between features and classes through call hierarchies, dependency relationships, and inheritance trees.
- Feature Callers/Callees: Explore features that call or are called by a given feature.
- Client/Supplier Classes: Explore the client and supplier relationships of a given class.
- Ancestor/Descendant Classes: Navigate the inheritance hierarchy of a class.
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.jsonwith different arguments or environment variables for each program.
All commands are available from the Command Palette or contextual menus:
- Compile & Run With Workspace ECF File
- Compile With Workspace ECF File
- Run With Workspace ECF File
- Lint With Workspace ECF File
- Compile & Run With Current ECF File
- Compile With Current ECF File
- Run With Current ECF File
- Lint With Current ECF File
- Compile & Run Eiffel File
- Compile Eiffel File
- Run Eiffel File
- Lint Eiffel File
- Create ECF File
- Select Workspace ECF File
- Select Current File as Workspace ECF File
- Show Workspace ECF File
- Set Environment Variables
- New Gobo Eiffel Terminal
Happy Eiffel coding in VS Code! 🚀








