Skip to content

gshakhn/idea-fitnesse

Repository files navigation

Introduction

This is an IntelliJ plugin for FitNesse.

Current Status

GitHub release Build Status Codacy Badge Dependency Status

The plugin fully functional and supports the following features:

  • Syntax highlighting
  • Links to other wiki pages
  • Supports Slim Decision, Query, Script, Scenario and Table tables
  • Syntax checking: warning for missing references
  • Execution of test suites, with readable console output
  • Folding of collapsible sections
  • Create wiki page action
  • Page (table) formatting

This plugin is available from the IntelliJ plugin repository.

FAQ

Q: I try to execute a wiki page, but no "Run" or "Debug" action pops up in my context menu (right mouse click)

Check if the FitNesse root folder can be found. The default FitNesse root directory name should be defined in the Run configuration defaults:

Run -> Edit Configurations... -> Defaults -> FitNesse -> FitNesse Root Directory

The default root folder name is FitNesseRoot. Change the default configuration settings to match the name of your FitNesse root folder.

Building the plugin

Run ./gradlew dist to build the plugin distribution.

Participating

If you want to help out with the plugin, please check the wiki for tasks that are still to be done.

To develop on the plugin you'll need IntelliJ (16).

Make sure the following plugins are enabled:

  • Scala
  • Plugin DevKit
  • UI Designer

Run ./gradlew idea to generate the module and project files. Because this is a IntelliJ plugin project, you should not try to import the gradle file directly in IntelliJ.

Before opening the project in IntelliJ, make sure you've created a IDEA SDK configuration:

File -> Project Structure...

Goto Platform Settings / SDKs and add (+) a IntelliJ Platform Plugin SDK. Point it to {project-root}/lib/sdk/idea-IC-139.1603.1.

Now you can open the project, build it and run it as a Plugin.

Of course you can also build the plugin with Gradle: ./gradlew build.

I use the following VM options for the plugin: -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=225m -XX:+UseCompressedOops, for what it's worth.

Read the Guidelines for plugin development for info on writing a plugin.

Try their Custom language support tutorial.

License

This plugin is licensed under Apache License, V2.0.

Feel free to fork and submit pull requests. I'll try to get them into the mainline ASAP.