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

**URL:** https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048
**Category:** VS Code
**Created:** [March 2, 2024, 8:50am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048 "2024-03-02T08:50:36Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)
#### Post date: [March 2, 2024, 8:50am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/1 "2024-03-02T08:50:36Z")

</div>

The [Modern Julia Workflows website](https://modernjuliaworkflows.github.io) 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:

- Use a [walkthrough](https://code.visualstudio.com/api/ux-guidelines/walkthroughs)

 ![java-walkthrough](https://global.discourse-cdn.com/julialang/original/3X/d/e/de228f51ab3c5110ed44c16179c723ebbee09a44.png)

 ![cpp-walkthrough](https://global.discourse-cdn.com/julialang/original/3X/c/c/cc9ec265baf563099b80bb9cf542e6146ed18835.png)

![python-walkthrough](https://global.discourse-cdn.com/julialang/original/3X/3/1/3123e118a401f625a2fbaf0363eadbf1bd060ffa.png)

- Copy [Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack)’s Tips for Beginners

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

 ![tips1](https://global.discourse-cdn.com/julialang/original/3X/3/2/327409dd01dea09621db9d5057f64d8a4d12fcd3.png)

 ![tips2](https://global.discourse-cdn.com/julialang/original/3X/f/9/f95ff178120fda2d175c7dc11aa5c40f4ff0642c.png)

 ![tips3](https://global.discourse-cdn.com/julialang/original/3X/b/1/b17d3f5533c8e1db86627d630313412803d0e3c5.png)

 ![tips4](https://global.discourse-cdn.com/julialang/original/3X/9/b/9b1654b23dcc15e6556adfb77dac3fdaa7fba893.png)

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

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [March 2, 2024, 10:49am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/2 "2024-03-02T10:49:01Z")

</div>

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

---

<div class="post-metadata">

### Author: ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)
#### Post date: [March 3, 2024, 9:21pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/3 "2024-03-03T21:21:57Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [March 3, 2024, 9:26pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/4 "2024-03-03T21:26:19Z")

</div>

I would add the suggestion to always create a new environment per project like explained here: [Working with Julia projects | Julia programming notes](https://ufechner7.github.io/2022/08/16/julia-projects.html)

```julia
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…

---

<div class="post-metadata">

### Author: ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)
#### Post date: [March 5, 2024, 8:14pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/5 "2024-03-05T20:14:54Z")

</div>

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

> [@VSCode... export Jupyter Notebook as HTML](https://discourse.julialang.org/t/vscode-export-jupyter-notebook-as-html/111199):
>
> In the past, I could export Jupyter Notebooks as HTML in the following way: Click on the dots at the RHS of the notebook menu Choose Export Choose …as HTML This opened the file browser, and one could choose file name. Presto, it worked. Not any more!!! Now, instead an obnoxious sticky text input box appears: I have no idea what to fill in here, and the process just stalls. In order to get rid of this text input box, I have to exit VSCode and restart it. In the …

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

> [@xiaoxi](#):
>
> - show how to run code in the terminal
> - show how to run code in Jupyter notebooks

Should the extension encourage the use of [Quarto](https://quarto.org) notebooks too?

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [March 6, 2024, 1:17pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/6 "2024-03-06T13:17:20Z")

</div>

A post was merged into an existing topic: [VSCode… export Jupyter Notebook as HTML](https://discourse.julialang.org/t/vscode-export-jupyter-notebook-as-html/111199/5)

---

<div class="post-metadata">

### Author: ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)
#### Post date: [March 6, 2024, 8:18am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/7 "2024-03-06T08:18:01Z")

</div>

> [@xiaoxi](#):
>
> Should the extension encourage the use of [Quarto](https://quarto.org) notebooks too?

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.]

---

<div class="post-metadata">

### Author: ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)
#### Post date: [March 6, 2024, 9:03am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/8 "2024-03-06T09:03:25Z")

</div>

(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](https://github.com/quarto-dev/quarto-cli/pull/8645) 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](https://pandoc.org) in the background. So for a Markdown as output, this is super fast, for a PDF it will probably just use LaTeX.

---

<div class="post-metadata">

### Author: ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)
#### Post date: [March 6, 2024, 9:22am UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/9 "2024-03-06T09:22:48Z")

</div>

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…

---

<div class="post-metadata">

### Author: ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)
#### Post date: [March 6, 2024, 2:46pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/10 "2024-03-06T14:46:08Z")

</div>

You may be interested in writing [typst](https://typst.app/docs/reference/syntax/) (instead of latex) in Quarto notebooks using the VSCode [Quarto extension](https://marketplace.visualstudio.com/items?itemName=quarto.quarto).

---

<div class="post-metadata">

### Author: ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)
#### Post date: [March 6, 2024, 3:45pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/11 "2024-03-06T15:45:46Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)
#### Post date: [March 6, 2024, 10:05pm UTC](https://discourse.julialang.org/t/brainstorm-ideas-for-including-info-from-the-modern-julia-workflow-website-in-the-vscode-extension/111048/12 "2024-03-06T22:05:55Z")

</div>

Regarding the Quarto workflow when there are no code blocks to evaluate, I think it goes directly to [pandoc](https://pandoc.org). It only generates a Jupyter notebook from the `.qmd` file if the file contains a YAML line like

```julia
jupyter: julia-1.10

```
