mit-mit/dartboard
Dart integration into Eclipse
= Dartboard
Dartboard is an Eclipse plugin for https://www.dartlang.org/[Dart] and https://flutter.io[Flutter] development.
== Features
Thanks to the language server protocol and the language server provided by the Dart team Dartboard already contains many features.
=== Rich Text Editing
The language server provides the necessary analysis and TextMate grammars provide syntax highlighting to enrich the development experience.
image:https://user-images.githubusercontent.com/5540255/59055777-f47fd100-8896-11e9-83dc-07fa3517e303.png[Syntax Highlight]
- Running Dart programs directly from the IDE
image:https://user-images.githubusercontent.com/5540255/59127089-f7e28d80-8966-11e9-9f6f-23c275c97928.gif[Dart Console]
- All features from the classic https://www.eclipse.org/eclipseide/[Eclipse IDE]
=== Planned features
- First class support for the https://www.dartlang.org/tools/pub[Pub package manager] - https://github.com/vogellacompany/eclipse-dart/issues/12[Issue#12]
- The ability to choose from templates to create new projects using the https://github.com/dart-lang/stagehand[Stagehand CLI] under the hood - https://github.com/jonas-jonas/eclipse-dart/issues/16[Issue#16]
== Installation
To use this plugin you will need at least Dart 2.2.
You can download it from the https://www.dartlang.org/tools/sdk#install[Dart download page].
Check by running dart --version after installation.
Install the latest build for Eclipse from the https://download.eclipse.org/dartboard/repository/ update site via Help->Install new software.
Configure the Dart SDK via Windows->Preferences-> Dart
Restart Eclipse to apply the changes, this is only necessary as the plug-in in still in its early stage.
== Development
The Eclipse tooling is based on the https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server[Dart language server].
See the https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md[Dart Language Server Readme] for the current status of the server.
=== Get Started
- Clone this repo
git clone git@github.com:eclipse/dartboard.git - Change to the cloned directory
dartboardand runmvn clean verify - Add the local update site from
org.eclipse.dartboard.update/target/repository/via the Help-> Install New Software... menu entry in the Eclipse IDE - Install the listed plugin
- Create or import a
.dartfile and start editing it
NOTE: If you have troubles with compilation and/or running try to install the necessary dependencies as described below.
=== Installing the dependencies
For the plugin to work as expected you need to install some dependencies.
Add the update site of the LSP4E project: http://download.eclipse.org/lsp4e/releases/latest/.
Install the plugins:
Language Server Protocol client for Eclipse IDE (Incubation) SourceLanguage Server Protocol client for Eclipse IDE (Incubation)
Add the update site of the TM4E project: http://download.eclipse.org/tm4e/snapshots/.
Install the plugins:
TextMate CoreTextMate Core Developer Resources
For logging we use the logback library.
You can install these from the Install new software... dialog:
m2e - slf4j over logback logging (Optional)
== Get Involved
Support is currently available via https://github.com/vogellacompany/eclipse-dart/issues[GitHub issues].
Code contributions are welcome via https://github.com/vogellacompany/eclipse-dart/pulls[GitHub pull requests].
Code quality analysis is available on https://sonarcloud.io/dashboard?id=vogellacompany_eclipse-dart[SonarCloud].
CI is available at https://ci.eclipse.org/dartboard/[Eclipse Foundation Jenkins]