• Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
    Java
  • License
    Other
  • Created over 11 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wolfram Language and Mathematica plugin for IntelliJ IDEA.

Download Count Join the chat at https://gitter.im/Mathematica-IntelliJ/Lobby Build Status

Mathematica (Wolfram Language) support for IntelliJ IDEA

teaser

This is an easy to install plug-in for almost all IntelliJ based IDEs like IDEA or PyCharm. It will turn the IDE you love into into a powerful development tool for Mathematica and Wolfram Language code. Since the plug-in and the Community Edition of IDEA is open-source, you can use everything completely free of charge. People, who just want to use the plug-in should take a look at the official website wlplugin.halirutan.de.

For a very quick start just download and install the free Community Edition of IDEA. After you have done that, open the Settings by pressing Ctrl+Alt+S (Cmd+, on OS X) and navigate to Plugins in the right column. On the right side you find the button Browse repositories and there you use the search box to find the Mathematica Support. With a right-click you can install it and after the suggested restart of IDEA everything is set up.

If you like the plug-in, please leave a comment and a rating at the IntelliJ IDEA Plugins page.

DocsDocumentation

There are two kinds of documentation: For users there is the GitHub Wiki page that I will update regularely and a very detailed blog post on the official website. There, you will learn what features the plug-in provides and how you can use them.

For developers, the first action is to set up the build-environment to compile the code into an IDEA plug-in. There is a very detailed how-to on the official website that explains every step. Additionally, you will find a screen-cast there, where the procedure is shown step by step. The code itself contains java-documentation that is uploaded to the repository's IO page.

Finally, there I have posted information on stack exchange and the Wolfram Community. Here is a list of probably interesting readings:

dev image Development Build Status

Code

When you want to crawl through the code, you should know that the master branch only contains the latest stable release. The current development will (almost) always take place in feature or bugfix branches that derive from the develop branch. This kind of follows the GitFlow branching model.

Testing and Continuous Integration

Testing the plugin is not as simple as writing unit test since most features need the environment of the IDE. Currently, I'm still working on including tests in a separate branch that will soon be merged into the main develop line.

On each push the code is compiled and checked for errors by Travis CI. When a feature is finished or a bugfix ready, I will tag this commit and Travis CI will automatically create a release from this which can be installed and tested by everyone.

You want to help but don't know Java?

No problem. If you like to contribute something, then there are a lot more ways than just with code! Here is a small list:

  • We need people that heavily test the plug-in and report bugs. This can be as simple as just using the plug-in for your work, but when you come across weird behavior, you try to reproduce it and report it with a small example of what you expect.
  • Are you a design savant? Do you understand the beauty of carefully chosen colors and icons? Currently, I'm doing this by myself but neither do I have the time I would like to spend for this, nor do I have the experience. We need icons and syntax highlighting that fit perfectly into the Darcula and Default IDEA color schemes.
  • Are you a work-flow optimizer with a good feeling for how features should work to make them as intuitive as possible? Drop by and explain how we can make the plug-in even more awesome.

bug image Reporting issues

For issue- and bug-tracking GitHub Issues is used. If you find bugs, experience weird behavior or have feature suggestions please create a new issue.

Note that the plug-in itself contains a bug-reporter. When an unhandled exception is thrown, you are notified by IDEA and you can give as much details as possibles which are then automatically turned into a new issue in the bug-tracker.

contact image Credits, Contact and Licensing

Credits

A lot of people helped to bring this project to life. Without them, it would probably have died a long time ago. Especially 4 people supported the plug-in from its very buggy first version. They were never tired of discussing feature details, testing new stuff, reporting bugs and suggesting future improvements:

  • rsmenon: Provided parts of the Module and Color Scheme implementations, testing. Improvements of the parsing for Mathematica version 10.

  • Szabolcs HorvΓ‘t: Heavy testing. Convinced me to implement a Structure View provider and discussed every detail, especially how it should work.

  • Leonid Shifrin: Most interesting discussions about implementation design and details.

  • Rolf Mertig: Testing and discussions about important features that are available in Wolfram Workbench.

In addition to that, a special thanks goes to Aliaksandr Dubrouski and Jakub Kuczmarski. The first on pointed me to Travis CI and explained how I can add support for it. The second one discussed details of the MUnit` support in Wolfram Workbench.

Contact

The easiest way to make contact is to write in the the dedicated stackexchange chat. There, you should ping me (@halirutan) so that I get notified. If you don't have enough reputation to talk there, feel free to write me an email. My address can be seen by evaluating this in Mathematica

Uncompress["1:eJxTTMoPChZhYGAoSCwpykzOdshIzMksKi1JzNNLSQUAgX0JmQ=="]

If you have specific feature questions, please don't hesitate to open a new issue in YouTrack.

Licensing

The general license for the IntelliJ IDEA Plugin is the MIT License. Users should note that Wolfram Research Inc. (WRI) has generously granted this project the right to use the internal documentation of Mathematica and make it available as part of the plugin. The only requirement was to put the legal information in a place where end-users find it. Therefore, please note that..

This software includes information that is Copyright Β© 2013 Wolfram Research, Inc. Such information is used with permission and for the limited purpose of enabling code completion and hints in the Mathematica IntelliJIDEA Plugin. Any other use requires written permission from the copyright holder.


Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

More Repositories

1

IntelliJ-Key-Promoter-X

Modern IntelliJ plugin to learn shortcuts for buttons
Java
3,049
star
2

IntelliJ-Key-Promoter

IntelliJ plugin to learn shortcuts for buttons
Java
63
star
3

Mathematica-Source-Highlighting

Highlighting of Mathematica code for Mathematica.stackexchange
Mathematica
46
star
4

Mathematica-SE-Tools

A package providing a palette to upload images and data to mathematica.stackexchange
Mathematica
20
star
5

Wolfram-Language-Parser

A parser for the Wolfram Language
Java
18
star
6

MathematicaAutocompletionTweaker

Changes the behavior of the auto-completion in Mathematica version 9 so that camel-humps completion can be used.
Mathematica
11
star
7

CollatzVisualization

Collatz Sequence Visualization with Kotlin and Desktop Compose
Kotlin
6
star
8

SE-Editor-Buttons

JavaScript
6
star
9

HeyexImport

This Mathematica package lets you import data from the Heidelberg Spectralis OCT
Mathematica
6
star
10

WolframLanguage-Google-Prettify

Wolfram Language support for Google Code Prettify
HTML
4
star
11

CIEDE2000-Color-Difference

CIEDE2000 Color Difference for Mathematica, C# and Excel
Mathematica
4
star
12

PDFMetaData

Java
3
star
13

Shutter-Control

Siemens LOGO! 8 used for controlling home shutters
3
star
14

spectralis-raw-data

Java library and Wolfram Language package for Spectralis OCT raw data files
Java
2
star
15

FaddeevaM

Mathematica support for the Faddeeva Package
CMake
2
star
16

SEUploaderApplication

This is basically version 2 of the SEUploader which is broken in its current state.
Mathematica
2
star
17

Wolfram-IntelliJ-Tools

Mathematica
2
star
18

SymbolInformationPalette

Creates a palette for displaying Attributes and Options of Mathematica functions
Objective-C
2
star
19

CatchingSegfaults

CMake
1
star
20

MathematicaLinkServer

Test project for using WSNewLinkServer
CMake
1
star
21

IJGradleDependencyGraph

Python
1
star
22

UnwrapSeedPoints

Python
1
star
23

FoveaAnalysis

Mathematica package for analysing foveal structures from OCT scans.
Mathematica
1
star
24

lastmiles

code and other info being used during Twitch live streams
C
1
star