Enables Reference tracking of glue code when using cucumber-scala DSL.
- Navigate from feature step to step definition
- Find usages of step definitions in feature files
- Wizard that creates step definitions for a step in a feature file
git clone email@example.com:danielwegener/intellij-cucumber-scala.git
sbt updateIdeawill download the idea sdk to the SDK folder and all required plugins
- Import the project as sbt project into IDEA.
Now you can build this plugin with
IntelliJ Plugin Development is too hard :/ Please provide a public (maybe non-oss, non-free) repo for Idea artifacts. Or maybe a sbt plugin.
To start an IDE with the plugin installed in the example project just run
sbt "runIdea example" (todo: does not work yet)
Using a run configuration
(set it to 'single instance only' so it kills the current version when restarting)
This is all reverse engineered (in reality playing a game of spot the difference) with the scala plugin run configurations.
It is quite important that scala library does not get added to the classpath etc. If there are problems run the scala plugin by
- Checkout https://github.com/JetBrains/intellij-scala
- Open in Intellij
- git checkout idea as that will demangle the run configuration so it can be ran easily
When running a configuration to analyse the output of the run window replace : with new lines so it is diffable.
VM Options (Note this is using build id 181.4445.78)
-Xmx800m -XX:ReservedCodeCacheSize=240m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Dapple.laf.useScreenMenuBar=true -Dplugin.path=target/scala-2.12/intellij-cucumber-scala_2.12-2018.1.0.jar -Didea.platform.prefix=Idea -Didea.system.path=idea/system -Didea.config.path=idea/config -Didea.plugins.path=idea/181.4445.78/externalPlugins
If system and config outside of extraction directory then it is easier to purge when a new version is out. You don't have to go through the whole running for the first time wizard.
Use classpath of module
Optional but useful
Under run configuration create additional before launch external tool
- Name: sbt_package
- Program: sbt
- Arguments: package
This will mean that a fresh plugin jar is created each time the test community edition launches from the run configuration.
- Add your credentials to
build.sbt(make sure to not check them in!) 2 run
This project is released under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0).