Difference between revisions of "Scripting environment setup"

From Freeplane - free mind mapping and knowledge management software
(Setup workspace)
Line 36: Line 36:
 
[[File:Eclipse-create-project-freeplane_bin-2.png|500px|border]]
 
[[File:Eclipse-create-project-freeplane_bin-2.png|500px|border]]
  
=== Create a Groovy Project for the scripts (even if you have none) ===
+
=== Create a Groovy Project for the scripts ===
  
 
[[File:Eclipse-create-project-scripts-0.png|700px|border]]
 
[[File:Eclipse-create-project-scripts-0.png|700px|border]]
Line 51: Line 51:
  
 
[[File:Eclipse-create-project-scripts-3.png|900px|border]]
 
[[File:Eclipse-create-project-scripts-3.png|900px|border]]
 +
 +
=== Create a Groovy Project for the scripts ===
 +
 +
1. Type Shift+Ctrl+T ("Open Type") and enter "freeeplanescript" to open the class FreeplaneScriptBaseClass.
 +
 +
[[File:Eclipse-connect-to-freeplane-sources-0.png|500px]]
 +
 +
2. The source for the class can not be found. Click on "Attach source", then "External folder" and browse to the freeplane_src directory in the workspace
 +
 +
[[File:Eclipse-connect-to-freeplane-sources-1.png|700px]]
 +
 +
The source of the class is shown.
  
 
==Using Eclipse==
 
==Using Eclipse==

Revision as of 22:41, 30 March 2012

Modern Integrated Development Environments like Eclipse or Idea make it much easier to edit Groovy scripts for Freeplane as in a normal text editor. Syntax highlighting, code completion, error detection, debugging and source navigation are extremely useful especially if you are not that experienced.

But it's more or less difficult for beginners to setup an IDE properly for Groovy scripting, so here's a step-by-step guide:

Installations

  • Download and install a "Eclipse IDE for Java Developers" or "Eclipse for RCP and RAP Developers" (the latter is more useful for regular Freeplane developers) from Eclipse download page.
  • Launch Eclipse for the first time and select some directory as your workspace root

Eclipse-select-workspace.png

Setup workspace

  • Download current Freeplane binary distribution and unpack it into the workspace, and rename directory:
   cd ~/freeplanescripts
   unzip freeplane_bin-1.2.13.zip
   mv freeplane-1.2.13 freeplane_bin
  • Download matching Freeplane source distribution and unpack it into the workspace and rename directory:
   cd ~/freeplanescripts
   tar -xzvf freeplane_src-1.2.13.tar.gz
   mv freeplane-1.2.13 freeplane_src
  • Install the eclipse support for the Freeplane extensions to Groovy scripts (<freeplaneuserdir>/scripts will be our scripts project directory):
   cp ./freeplane_bin/bin/freeplane.dsld ~/.freeplane/1.2.x/scripts

Create projects

Create a Java Project for the Freeplane binaries

Eclipse-create-project-freeplane bin-0.png

2. Set the project name to the name of the folder containing the Freeplane binaries

Eclipse-create-project-freeplane bin-1.png

3. Allow scripts access to the Freeplane libraries

Eclipse-create-project-freeplane bin-2.png

Create a Groovy Project for the scripts

Eclipse-create-project-scripts-0.png

2. Set the project name to the name of the folder containing the scripts

Eclipse-create-project-scripts-1.png

3. Connect the scripts with the Freeplane libraries.

Eclipse-create-project-scripts-2.png

4. Select a different output folder. Otherwise a lot of .class files would pollute the scripts directory. This is not required but helpful.

Eclipse-create-project-scripts-3.png

Create a Groovy Project for the scripts

1. Type Shift+Ctrl+T ("Open Type") and enter "freeeplanescript" to open the class FreeplaneScriptBaseClass.

Eclipse-connect-to-freeplane-sources-0.png

2. The source for the class can not be found. Click on "Attach source", then "External folder" and browse to the freeplane_src directory in the workspace

Eclipse-connect-to-freeplane-sources-1.png

The source of the class is shown.

Using Eclipse

Edit a script

Eclipse-edit-script.png

Magic keys

  • ALT+Space
    • Initiates content assist, completes typed texts.
    • Import declarations for completed types are automatically added.
    • Example: type "str" (without the quotes) and hit ALT space.
  • F3
    • Navigates to the definition of the variable/class under the cursor.
    • This also works for Java and Freeplane classes - allowes to lookup details of the class.
  • ALT+Cursor_Left
    • Navigates to the last remembered location.
  • Shift+Ctrl+T
    • Open a type (e.g. a class or interface).
    • Try entering "proxy" and select the Proxy from org.freeplane.plugin.script.proxy
    • Proxy is the API definition.
  • Shift+Ctrl+R
    • Use this to open a script.