-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
108 additions
and
292 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,13 +2,17 @@ | |
|
||
# vscode-RosTooling | ||
|
||
We introduce a text and graphical IDE based on [VSCode](https://code.visualstudio.com/api) (desktop) and [Theia](https://theia-ide.org/) (web), with the kinematic model descibed in https://github.com/ipa320/ros-model as the base. This IDE allows creating kinematic models from scratch and composing those models. | ||
|
||
The text-based editor provides typical IDE features like code completion and navigation to declaration of a symbol. The graphical editor allows editing and visualizing the model as a TF tree. A live visualization of the models can be previewed in a side panel while editing in both tools. | ||
This repository contains the implementation of the [VSCode](https://code.visualstudio.com/api) extension to suport the [RosTooling](https://github.com/ipa320/ros-model) DSLs. Thansk to the extension, a textual editor include features like autocomplete, grammar checker and code generation. | ||
|
||
Technical Maintainer: [**ipa-nhg**](https://github.com/ipa-nhg/) (**Nadia Hammoudeh Garcia**, **Fraunhofer IPA**) - **[email protected]** | ||
|
||
## Usage from user perspective | ||
Start the server: | ||
``` | ||
cd vscode-RosTooling/resources | ||
java -jar de.fraunhofer.ipa.ros.xtext.ide-3.0.0-SNAPSHOT-ls.jar -port 5008 -host 0.0.0.0 | ||
``` | ||
Start VS code: | ||
``` | ||
$ git clone [email protected]:ipa320/vscode-RosTooling.git | ||
$ cd vscode-RosTooling | ||
|
@@ -29,12 +33,15 @@ source ~/.nvm/nvm.sh | |
nvm install 12 | ||
``` | ||
|
||
#### Start the language server | ||
#### Generate the jar files | ||
``` | ||
cd vscode-RosTooling/resources | ||
java -jar de.fraunhofer.ipa.ros.xtext.ide-3.0.0-SNAPSHOT-ls.jar -port 5008 -host 0.0.0.0 | ||
git clone [email protected]:ipa320/ros-model | ||
cd ros-model/plugins/de.fraunhofer.ipa.ros.xtext.ide | ||
mvn clean install | ||
``` | ||
|
||
The .jar file will be generated under the folder `ros-model/plugins/de.fraunhofer.ipa.ros.xtext.ide/target`. | ||
|
||
## Compile the plugin | ||
``` | ||
cd vscode-RosTooling | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,37 @@ | ||
{ | ||
"name": "rosDSL", | ||
"scopeName": "source.ros", | ||
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", | ||
"name": "ros1DSL", | ||
"scopeName": "source.ros1", | ||
"fileTypes": [ | ||
"ros" | ||
"ros1" | ||
], | ||
"patterns": [ | ||
{ | ||
"include": "#comments" | ||
}, | ||
{ | ||
"name": "storage.type.ros", | ||
"match": "\\b(PackageSet|Package|Artifact|CatkinPackage|AmentPackage|Package|FromGitRepo|Node|Publisher|Subscriber|ServiceClient|ServiceServer|ActionClient|ActionServer|Publishers|Subscribers|ServiceClients|ServiceServers|ActionClients|ActionServers|TopicSpec|ServiceSpec|Parameter|Parameters|Specs)\\b" | ||
}, | ||
{ | ||
"name": "string.quoted.double.ros", | ||
"begin": "\"", | ||
"end": "\"" | ||
} | ||
|
||
], | ||
"repository": | ||
{ | ||
"comments": { | ||
"patterns": [ | ||
{ | ||
"name": "comment.block.states", | ||
"begin": "/\\*", | ||
"beginCaptures": { | ||
"0": { | ||
"name": "punctuation.definition.comment.states" | ||
} | ||
}, | ||
"end": "\\*/", | ||
"endCaptures": { | ||
"0": { | ||
"name": "punctuation.definition.comment.states" | ||
} | ||
} | ||
}, { | ||
"begin": "(^\\s+)?(?=//)", | ||
"beginCaptures": { | ||
"1": { | ||
"name": "punctuation.whitespace.comment.leading.cs" | ||
} | ||
}, | ||
"end": "(?=$)", | ||
"name":"comment.line.states" | ||
} | ||
] | ||
} | ||
} | ||
"patterns": [ | ||
{ | ||
"include": "#keywords" | ||
}, | ||
{ | ||
"include": "#strings" | ||
} | ||
], | ||
"repository": { | ||
"keywords": { | ||
"patterns": [{ | ||
"name": "keyword.control.ros1", | ||
"match": "\\b(msgs|message)\\b" | ||
}] | ||
}, | ||
"strings": { | ||
"name": "string.quoted.double.ros1", | ||
"begin": "\"", | ||
"end": "\"", | ||
"patterns": [ | ||
{ | ||
"name": "constant.character.escape.ros1", | ||
"match": "\\\\." | ||
} | ||
] | ||
} | ||
}, | ||
"scopeName": "source.ros1" | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.