18

The solution I am currently using is to work with *.wls script files. You can do nearly all the things you do with usual *.nb notebooks files (as shown in my screen shot). The big advantage is that outputs and graphics are not saved into these *.wls files (you have to click on Run All Code to regenerate them). By consequence you can use git as usual (...


18

Preface I feel inclined to answer because I live in both of the worlds you are describing. For one, I work in science where it is more than typical to write software that has sophisticated algorithms under the hood, but cannot be compared to modern apps. This software is rarely "market-ready" in terms of user experience, let alone the principles like web-...


17

Are you interested in a Wolfram Workbench Update? No, because it is based on Eclipse, and I prefer IntelliJ IDEA. The Mathematica plugin for IntelliJ IDEA is absolutely great and fairly sufficient for what I do. Many of my (ex-)co-workers at WRI use(d) Wolfram Workbench and are(were) productive with it. I never particularly liked it because of Eclipse. (...


16

This Wolfram support article explains how to install the latest Workbench as an Eclipse plugin. It is compatible with Eclipse 4.6 (Neon) and Mathematica 11. See also https://www.wolfram.com/products/workbench/


15

A new possibility is to use mathematica-notebook-filter which parses Mathematica notebooks and strips all output cells and metadata so that these are not committed into the version control system. In the specific case of git, it is quite easy to integrate mathematica-notebook-filter so that git automatically cleans the output and metadata when calculating ...


15

Update November 2nd, 2016 The issue has obviously now been addressed by WRI and Workbench will not be a branded Eclipse IDE, but rather be a concurrent plug-in for Eclipse. They also updated the Website: Wolfram Workbench. Maybe there has been some effect of posts like this one? :) Update Because I feel that @Szabolcs does have a point I will give a ...


13

Edit From version 9 PacletInfo.m file requires "Kernel" extension with Context specification. Without it loading paclets using contexts doesn't work (see old answer). Up to version 8 $Path has precedence over paclet search path no matter how package is loaded. In versions 9.0 - 10.1 paclet search path has precedence over $Path no matter how package is ...


13

Update 10-2017: I noticed that they released an update of these tools, so some of these steps are outdated. I adjusted this answer to the newest release of Workbench 10.1.822. It has become somewhat easier, therefore I also created an automated script for my usecase. Feel free to use it: (* Directory containing html folder, e.g. C:/project/build/...


12

I installed it for a short while, played with it somewhat and then decided it was not for me. I have been using IDEs for various languages and environments, but my development style for Mathematica programs just doesn't work in an IDE. I don't write huge programs, but mostly use Mathematica as a research tool, test concepts or do some data processing. ...


12

Alternatively, is it possible to build the documentation directly from Mathematica, without having to use Ant and docbuild.xml? The Workbench includes a DocumentationBuild package. Yes this is possible, but it requires tracing what docbuild.xml is doing. It's deleting build directory at beginning, and copying PacletInfo.m and everything, except */Guides/**, ...


10

I'll try to answer this as objectively as possible, but note that this answer is shaped by my experiences, so there is a certain subjective flavour to it. Before you try to figure out a workflow for a non-interactive IDE for Mathematica such as the WorkBench/vim/IntelliJ/Eclipse (henceforth, IDE) and the Mathematica notebook (NB), you should evaluate and ...


10

I don't know any option that would control this behavior, but there are hacks that can completely prevent this rasterization. Rasterization is performed by ConvertGraphicsToBitmaps function from DocumentationBuild`Common` package. This function performs rasterization of output cells from given NotebookObject and returns Null, that's all it does, so we can ...


10

For notebook to stay in the same place, after Revert action, it needs Saveable -> False option. Note: A notebook with Saveable -> False cannot be saved using the GUI through File -> Save... It can be saved programmatically using NotebookSave, or exported using Export[..., "NB"], etc. Let's create basic test application with documentation support: ...


10

If you see this error: A class needed by class com.wolfram.jlink.util.MathematicaTask cannot be found: org/apache/tools/ant/Task then try installing the Workbench plugin into "Eclipse for Java Developers". It seems other versions, e.g. "Eclipse for C++ Developers", lack some components that the Workbench plugin needs. Also make sure to have the JDK (...


9

Another alternative is the IntelliJ IDEA IDE with the Mathematica plugin. See this post for details: Open-source IntelliJ IDEA plugin to support Mathematica development


9

Partial Solution Wolfram Workbench 2 and 3 are not able to launch the front end (Mathematica 10+) to create the final HTML. The solution is to use the new (Eclipse-plugin) version, downloadable from: https://www.wolfram.com/workbench/. Which is also free when you have purchased a Mathematica license. Some issues with the HTML edit: I took the time to ...


9

Putting together all pieces from first answer, for general, commonest case, gives final buildDocumentation function: nonStrOptRule // ClearAll nonStrOptRule // Attributes = HoldAll; nonStrOptRule[msg_MessageName, optName_, onError_] := wrong : "" | Except@_String :> ( Message[msg, HoldForm@optName, HoldForm@wrong]; onError ) ...


8

I certainly would like to see a Workbench that worked. After spending the money for the thing, and locating a very old version of Eclipse for Windows to run it on, I could not make Workbench do anything. Since as a Mathematica Home Edition user, I am not entitled to technical support, and for lack of time, I gave up on Workbench. I have to believe that if ...


7

Say you're developing MyPackage` and want to create page for MySymbol::myMessage. Assuming you already have created standard Application project, with documentation support, perform following steps. Inside MyProject/MyPackage/Documentation/English/ReferencePages create Messages directory with MySymbol sub-directory. Open PacletInfo editor (double click on ...


7

Transitioning my comment into an answer, as suggested by @b3m2a1 "Function paclet" is a somewhat outdated term for a paclet that contains actual Mathematica code and provides functionality (as opposed to just data, or just documentation). The difference is mostly superficial since one type can easily be transformed into the other by editing ...


7

A New Kind of Tutorial Since some time has passed now without getting any answers, I have experimented myself using $Version (* 12.3.1 for Microsoft Windows (64-bit) (June 19, 2021) *) and Eclipse IDE for Java Developers Version: Neon.3 Release (4.6.3) Build id: 20170314-1500 Plugin: Wolfram Workbench Core (10.1.1087) So bear with me. 1 Creating Paclets ...


6

I use it only for running tests. I have been trying to migrate to the new testing notebooks but I keep finding problems with them. Considering that the Wolfram Language is now free (Raspberry Pi), I think that the Workbench plug-in should be open sourced. Also needed are syntax highlighting modes for major text editors.


6

I received a response to this through Wolfram Community. The current Workbench (10.1.822) does not include the tool to create these links. But the following palette make them: CreatePalette[Button["Create Link", Module[{cell = SelectedCells[InputNotebook[]][[1]], cellid}, cellid = "CellID" /. Developer`CellInformation[cell]; CopyToClipboard[ ...


6

The current version of the Workbench / Documentation Tools still produces the style used in Mathematica 11.0 and earlier. This style can also be displayed (mostly fine) in Mathematica 11.1 and later. The few problems (such as large font in See Also links) can be corrected by post-processing the generated documentation notebooks (this is what I do for MaTeX)....


6

I solved the second problem by installing a JRE into Eclipse as described here. I solved the first problem by re-reinstalling Eclipse. Not sure what changed -- maybe I was more careful in eliminating remnants of the previous install (.metadata folders)? maybe I used the right workspace directory? We may never know!


6

Wolfram Workbench is nice for this, but you could also try the "CodeInspector`" package:


5

New plugin for Geany editor https://github.com/Ludwiggle/wolfram-geany . It has autocompletion, documentation pop-ups, basic syntax highlighter, it runs wolfram scipts by pressing F5 without installing Mathematica. There are some differences between the wolfram-geany plugin and other available IDEs like Atom, IntelliJ IDEA, Sublime, Emacs, Vim when it ...


5

I can understand why MyPackage is changed to MY PACKAGE SYMBOL and unfortunately LaTeX is a special name which suffers from that change. On the other hand, conversion functions are far from being perfect because if your package is called is e.g. WRI then it will be translated to W R I SYMBOL, which looks strange and I'd call it a minor bug. I don't know ...


5

Until I find where this lives I just put the paclets in my paclets cloud account. Here's DocumentationBuild and here's Transmogrify. So you can download them via PacletInstall: PacletInstall[ "DocumentationBuild", "Site"-> "https://www.wolframcloud.com/objects/b3m2a1.paclets/DocumentationBuild" ] PacletInstall[ "Transmogrify", "Site"-> "https://...


5

I'm also using Workbench 10.1.822 (although on a Mac with Mathematica 11.3). Here's a side-by-side of the unprocessed and processed forms of a test guide page I just made: As you can see, I'm also missing the orange "Guide" tab at the top, but I do have the divider line and orange section text, which I made with the "Subsection" button in the ...


Only top voted, non community-wiki answers of a minimum length are eligible