Titan - Visual Studio Code and Eclipse Theia extension
Thanks for your interest in this project.
Project description
This extension provides TTCN-3 and ASN.1 language support for Visual Studio Code and Eclipse Theia powered by Titan language server using LSP4j. Both projects are in experimental phase.
Features
Titan language server performs full syntactic and semantic analysis of a TTCN-3 project.
The current status of the supported and planned features:
✅ Code completion
✅ Diagnostics
✅ Document symbols
✅ Go to definition
✅ Go to type definition
✅ Hover (displaying combined information based on semantic analysis and TTCN-3 document comments)
✅ Peek definition
✅ Signature help
✅ Snippets
✅ Code action (proposals for code fixes)
✅ Find references
✅ Semantic highlight
❌ Code lens
❌ Document highlight
❌ Folding range
❌ Formatting
❌ Prepare rename
❌ Rename
Additional features:
✅ Excluding/including files in a project
✅ Building up projects based on TPD files
❌ Makefile generation
Supported file types
The following file types are handled by the extension:
- TTCN-3:
.ttcn, .ttcn3, .ttcnpp, .ttcnin
- ASN.1:
.asn, .asn1
- Runtime configuration files:
.cfg
- Titan project descriptor files:
.tpd
Minimum requirements
This extension has the following minimum requirements:
- Visual Studio Code 1.71.0
- Titan Language Server minimum requirements
Contact
If you found a bug or have a feature request, contact the project developers: https://projects.eclipse.org/projects/tools.titan/contact
Building the code from source
Follow this high level instructions to build the extension and the language server from source:
- Install NodeJS and Maven
- Via package manager
apt-get install -y nodejs mvn
- Via package manager
- Install the vsce tool
npm install -g @vscode/vsce
- Clone this and the language server repositories
git clone https://gitlab.eclipse.org/eclipse/titan/titan.vs-code-extension.git
git clone https://gitlab.eclipse.org/eclipse/titan/titan.language-server.git
- Build and package the language server using Maven
cd titan.language-server/lsp
mvn package
- Install dependencies for the extension
cd titan.vs-code-extension
npm install
- Copy the compiled Java archive and the language server dependencies to the extension's folder
mkdir titan.language-server/server
cp -r titan.language-server/lsp/target/lib titan.vs-code-extension/server
cp titan.language-server/lsp/target/org.eclipse.titan.lsp*.jar titan.vs-code-extension/server/org.eclipse.titan.lsp.jar
-
Package the extension using vsce
vsce package
At the end you will have titan-x.y.z.vsix
file that you can install to VS Code and Eclipse Theia.