Brainstorm ideas for including info from the Modern Julia Workflow website in the VSCode extension

The Modern Julia Workflows website offers very valuable information and I wonder how the Julia extension could offer it as well. So, I am opening this thread to discuss ideas for including information from the Modern Julia Workflow website in the Julia VSCode extension.

I came up with two ways:

python-walkthrough

  • Copy Java’s Tips for Beginners

Java’s Tips for Beginners offers four blocks of information:

What information do you think the Julia extension could include in a walkthrough and in Tips for beginners?

10 Likes

Tagging @jacobusmmsmit and @hill so that we follow the discussion

Let’s start with the walkthrough. My ideal walkthrough would:

  • detect if juliaup is installed, otherwise install it
  • detect if Julia is installed, otherwise install the latest version
  • change the font family of the terminal and the editor to JuliaMono
  • show how to run code in the terminal
  • show how to run code in Jupyter notebooks

What would you add or change?

1 Like

I would add the suggestion to always create a new environment per project like explained here: Working with Julia projects | Julia programming notes

mkdir myproject
cd myproject
julia --project="."
]
add <the required packages>

A wizard “create new project” would be nice that does this and perhaps even asks in a dialog for the packages to add…

11 Likes

I just realized that you need a Python environment with the jupyter and notebook package to export a Jupyter notebook to HTML in VSCode.

It might be interesting to include it in the Tips for Beginners.

Should the extension encourage the use of Quarto notebooks too?

A post was merged into an existing topic: VSCode… export Jupyter Notebook as HTML

I like the idea of Quarto, but since it is developed in the R-world… I don’t want to install yet another language on my computer. I assume it is possible to run Quarto without R?

I kind of like the notebook idea (like Jupyter notebooks), but they don’t seem to scale well to “large” documents. I have a 30 page notebook with some (but not a lot of typeset math), but that is already quite slow compared to LaTeX-like tools (e.g., LyX) where there is no problem with thousands of pages.

Is Quarto suitable as a substitute for, say, LyX and LaTeX tools? [With the added bonus of live code.]

(Maybe this is just a small detour here)

The problem is not running quarto without R, it’s running Quarto without Python, but there is a PR working on that, so we can have a pure-Julia run of quarto.

If you do not have any live code in there, Quarto will just generate a Jupyter notebook and use pandoc in the background. So for a Markdown as output, this is super fast, for a PDF it will probably just use LaTeX.

1 Like

Great that there will be a pure Julia version of Quarto!!

I don’t know whether Quarto (the R tool) has windows based tools for inserting math, etc., or whether “raw” LaTeX code can be used. I can always use LyX to produce the math and paste the result into the markdown field (I always mess up complicated math with matrices, etc., so a “wysiwyg” tool is simpler).


If someone were interested in a more fancy tool: I used a LaTeX tool named Scientific WorkPlace (or Scientific Word) from 1994 - 2010 or so. Supergood, and super efficient – I could typeset math 10 times faster than in Word, and probably 3 times faster than in LyX. SW was a commercial product, but struggled in the transition from v. 5.5 to 6.0, and eventually the development stopped – Scientific Word (the version without symbolic computation support) is now Open Source, I think.

IBM licensed the math editor of Scientific Word for their WordPro word processor.

SWP and SW were very good, but used lots of macros, so it was slightly complicated to open files from another LaTeX tool. Also, it had somewhat poor support for fancy, new things – which they tried to rectify in v. 6.0. The main focus was on literal programming (using Maple, and later MuPad, which eventually was bought by MathWorks and became their Symbolic Toolbox).

The transition from SWP 5.5 to 6.0 was troublesome: they switched from C code to using a web tool from Mozilla. Part of the problem was that user choices were not sticky, so every time one opened a menu, the user started from scratch…

You may be interested in writing typst (instead of latex) in Quarto notebooks using the VSCode Quarto extension.

Quarto is roughly on the same level as LaTeX – it is a processing tool.
But sure, when you write .qmd files (Quarto Markdown) you basically write Markdown (which supports Math in $...$ or even offset math equations in math blocks).
But this is different from user-interfaces like LyX, SW, WP and such. For example I write my LaTeX (and Quarto, and Julia and – nearly everything else) in VS Code (with the already mentioned extension).
Note that by now Quarto can also render to PDF using typst.

Regarding the Quarto workflow when there are no code blocks to evaluate, I think it goes directly to pandoc. It only generates a Jupyter notebook from the .qmd file if the file contains a YAML line like

jupyter: julia-1.10
2 Likes