Xtext Visual Studio Code Example
This is an Example showing the Visual Studio Code Integration of Xtext using the Microsoft Language Server Protocol.
Quickstart
Requires Visual Studio Code (VS Code) with version 1.4.0 or greater to be on the path as code
and Java 8+ available as java
.
- Run
./gradlew startCode
This will start VS Code and after a few seconds load the demo
folder of this repository.
Project Structure
vscode-extension
(node based VS Code extension to run with a separate server using socket)vscode-extension-self-contained
(node based VS Code extension to run with a embedded server using process io)org.xtext.example.mydsl
(contains the dsl)org.xtext.example.mydsl.ide
(contains the dsl specific customizations of the Xtext language server)org.xtext.example.mydsl.tests
Building in Details
- Make sure that
java -version
is executable and pointing to a Java 8+ JDK. - Type
code
. If the command is not known, open VS Code and select View / Command Palette. Entercode
and select to installcode
on the path. - Run
./gradlew startCode
to build the DSL and the VS Code extensions.
Scenario 1 (embedded server)
- Install the self-contained extension into VS Code using
code --install-extension vscode-extension-self-contained/build/vscode/vscode-extension-self-contained-0.0.1.vsix
- Run a second instance of vscode on the demo folder
code demo
Scenario 2 (client-only with separate server process)
- Run
./gradlew run
or launch RunServer from Eclipse. - Open
vscode-extension
in VS Code andF5
to launch new editor (you may need a Debug -> Start Debugging initally). - Open folder
demo
in the new editor.
Build VS Code Extension Package manually (manually Gradle)
npm install -g vsce
cd vscode-extension
vsce package
cd ../vscode-extension-self-contained
vsce package
Hints
For Other Xtext/VSCode versions please also check other branches for newer/older Xtext Versions that also support newer/older vscode versions Atom language client is dead. We plan to update to a fork. See itemis#73