# Editor "magic" URL flags?

**URL:** <https://forum.makecode.com/t/editor-magic-url-flags/10743>\
**Category:** Help\
**Created:** [November 3, 2021, 4:14pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743 "2021-11-03T16:14:44Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [November 3, 2021, 4:14pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/1 "2021-11-03T16:14:44Z")

</div>

With reference to [@peli’s post here, with @mmoskal’s reply immediately below](https://forum.makecode.com/t/using-old-raspberry-pi-a-2011/1407/2), I am really interested in mapping what URL flag options that are available for configuring the pxt-arcade/MakeCode Arcade Monaco editor, compiler targets etc.?

From searching the this forum, the GitHub code repositories and the web, I have only been able to find these URL flags/options for pxt-arcade/MakeCode Arcade:

**Compiler switches:**

- ?compile=rawElf etc. (set compiler file target = rawElf)
- ?hw=rpi etc. (set compiler hardware target = Raspberry Pi)
- ?nolocalhub=1 (not connected to usb hardware?)
- ?dbg=1 (some sort of debug code output?)

**Editor options:**

- #pub: (for opening editor with public/github project share links)
- /—multi (for opening two editors in split screen view)

But judging from [e.g. this source file](https://github.com/microsoft/pxt/blob/bda09d9de5dc5eea8ff9f25ac6b273141aa295b6/localtypings/pxtarget.d.ts#L642), there are plenty of more options to choose from, but I am unfortunately _utterly unable_ to find out how they are parsed/to be included in URLs…

In the short run, I would like to make an URL link that opens a certain project link with certain compiler options directly in the Python Monaco editor instead of in the default Blockly editor.

Other ideas could a URL that opens two project links with certain other options directly in the “multi” view. The possibilities are endless.

Do you have a link to a document or source code, cheat sheet or similar, that could help us with an overview of and how to use all the different [URL paths, query key/value pairs and fragments etc](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web#query). available for [makecode.arcade.com](http://makecode.arcade.com)?

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [November 10, 2021, 8:16pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/2 "2021-11-10T20:16:28Z")

</div>

Anyone?

@makecode? @livcheerful? @shakao? @Richard? @hassan? Advanced MCA/pxt-arcade users/administrators?

By the way, a small correction: The ?nolocalhub query should be ?nolocalhost=1…

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [November 11, 2021, 5:46pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/3 "2021-11-11T17:46:44Z")

</div>

Here are some of the public ones off of the top of my head. Please note that all of these are subject to change at any time, I’m just listing the ones that are semi-public/useful for content creators. There are a bunch of other “private” ones that I will not mention because we don’t want people to use them.

- `/---skillmap` opens the skillmap for the editor (arcade only)
- `?saveblocks=1` makes it so that the save button next to the project name downloads the .blocks file for the current project. This is useful for looking at the XML for debugging
- `?savetemplate=1` makes it so that the save button downloads the project as a json blob that can be included in a tutorial file as template code.
- `?controller=1` enables controlling the editor though iframe messages. For an example of how to do this, see [https://github.com/microsoft/pxt/blob/master/webapp/public/controller.html](https://github.com/microsoft/pxt/blob/master/webapp/public/controller.html)
- `?light=1` turns on “light mode” which has some performance enhancements like fewer animations, less frequent compiles, no transparency in sprite editor, etc.
- `#editor` opens the most recent project directly in the editor
- `#home` opens the home page
- `#newproject` creates a new project
- `#newjavascript` creates a new javascript-only project
- `#tutorial:xxxx` opens the given tutorial argument. There are a few ways to use this one:
  - `#tutorial:py:xxxx` will open as a python tutorial
  - `#tutorial:js:xxxx` or `#tutorial:ts:xxxx` will open as a javascript tutorial
  - `#tutorial:blocks:xxxx` will open as a blocks tutorial
  - The `xxxx` can be in the following format:
    - A share ID (e.g. `#tutorial:xxxx-xxxx-xxxx-xxxx`)
    - A path to a tutorial in docs (e.g. `#tutorial:/tutorials/galga` points to [https://github.com/microsoft/pxt-arcade/blob/master/docs/tutorials/galga.md](https://github.com/microsoft/pxt-arcade/blob/master/docs/tutorials/galga.md)). Note the leading slash!
    - A github repo and path (e.g. `#tutorial:owner/repo/path/to/markdown`)

And for the skillmap specifically, we have:

- `---skillmap#github:owner/repo/blob/master/skillmap.md`. Note that the argument for this one is just the end of the URL you get when you open the markdown file in github

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [November 12, 2021, 12:53am UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/4 "2021-11-12T00:53:27Z")

</div>

This was really elaborate and useful, @richard! -Thanks!

I also understand that there are some that you don’t want us to use.

I am therefore a bit hesitant to ask, but is there a “hash”, link, query or argument that would open the editor directly in the texteditor/Monaco mode directly - both Python(py) and JavaScript(js) - instead of the blockseditor/Blockly mode?

🕶

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [November 7, 2023, 5:20pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/5 "2023-11-07T17:20:20Z")

</div>

Hi again, @richard or anyone who knows,

In class lately, I’ve been using the `---multi` URL flag to open the micro:bit editor for programming a radio transmitter on the left side and a receiver on the right side, using the simulator for lack of enough hardware;  
[https://makecode.microbit.org/—multi#](https://makecode.microbit.org/---multi#)  
(The same would be interesting for 2-player Arcade games, hence the this post in this Arcade category…)

_I am not able to figure this out, but is it possible to make a link which opens one shared project in the left editor window and another shared project in the right window?_

Also, I am still curious whether it would be possible to make a link that opens a shared project directly to the textbased JavaScript editor, ref. my previous post?

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [November 7, 2023, 5:29pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/6 "2023-11-07T17:29:04Z")

</div>

hmmm i don’t think that’s supported

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [November 7, 2023, 8:00pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/7 "2023-11-07T20:00:07Z")

</div>

'd be pretty cool if it was 😏

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [November 8, 2023, 5:55pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/8 "2023-11-08T17:55:14Z")

</div>

Filed feature requests:

> <https://github.com/microsoft/pxt-microbit/issues/5398>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> It would be …nice sometimes, even for block based projects, to be able to open shared projects directly in a text based editor(JavaScript or Python).
> 
> \*\*Describe the solution you'd like\*\*
> I'd like to be able to make a link that opens a shared project directly in a text based editor using a custom magic URL, maybe like this:
> https://makecode.microbit.org/\_YTbKYAAimAxz#JavaScript
> 
> \*\*Describe alternatives you've considered\*\*
> I have found no alternatives.
> 
> \*\*Additional context\*\*
> The feature has been discussed on the forum:
> https://forum.makecode.com/t/editor-magic-url-flags/10743/5?u=vegz78

> <https://github.com/microsoft/pxt-microbit/issues/5397>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> When using t…he radio function in a classroom setting with the simulator, it is intuitive to use the https://makecode.microbit.org/---multi# editors and, for example, have the sender program in the left editor window and the receiver program in the right.
> 
> \*\*Describe the solution you'd like\*\*
> I'd like to be able to make a link that opens 2 shared projects, the first in the left window and the second in the right window, maybe with some custom magic URL, maybe like this:
> https://makecode.microbit.org/---multi#\_YTbKYAAimAxz&\_LxghRpHJaKq8
> 
> \*\*Describe alternatives you've considered\*\*
> I have found no alternatives.
> 
> \*\*Additional context\*\*
> The feature has been discussed on the forum:
> https://forum.makecode.com/t/editor-magic-url-flags/10743/5?u=vegz78

> <https://github.com/microsoft/pxt-arcade/issues/6200>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> It would be …nice sometimes, even for block based projects, to be able to open shared projects directly in a text based editor(JavaScript or Python).
> 
> \*\*Describe the solution you'd like\*\*
> I'd like to be able to make a link that opens a shared project directly in a text based editor using a custom magic URL, maybe like this:
> https://arcade.makecode.com/S77440-72894-99459-99195#JavaScript
> 
> \*\*Describe alternatives you've considered\*\*
> I have found no alternatives.
> 
> \*\*Additional context\*\*
> The feature has been discussed on the forum:
> https://forum.makecode.com/t/editor-magic-url-flags/10743/5?u=vegz78

> <https://github.com/microsoft/pxt-arcade/issues/6199>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> When using A…rcade local multiplayer, it would be nice to use the https://arcade.makecode.com/---multi# editors to open the game directly in two windows side-by-side, or, for example, have 2 different programs that communicate with each other in the left editor window and in the right window, respectively.
> 
> \*\*Describe the solution you'd like\*\*
> I'd like to be able to make a link that opens 1 shared project in both windows or 2 shared projects, the first in the left window and the second in the right window, maybe with some custom magic URL, maybe like this:
> https://arcade.makecode.com/---multi#82170-98485-81323-67083
> https://arcade.makecode.com/---multi#82170-98485-81323-67083&S77440-72894-99459-99195
> 
> \*\*Describe alternatives you've considered\*\*
> I have found no alternatives.
> 
> \*\*Additional context\*\*
> The feature has been discussed on the forum:
> https://forum.makecode.com/t/editor-magic-url-flags/10743/5?u=vegz78

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [February 15, 2024, 12:51am UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/9 "2024-02-15T00:51:24Z")

</div>

Seems like opening any projects, even with blocks, directly in a text based editor was already supported:  
[https://github.com/microsoft/pxt-microbit/issues/5398#issuecomment-1808466782](https://github.com/microsoft/pxt-microbit/issues/5398#issuecomment-1808466782)

Just share it in the JavaScript or Python editor view… 😉

Still hoping for a way to open two different, but radio linked, projects in each of the windows using the --multi magic URL, or something similar. And opening to instances of e.g. a multiplayer arcade game in a similar way.

---

<div class="post-metadata">

**Author:** ![Vegz78](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/vegz78/32/1201_2.png) [@Vegz78](https://forum.makecode.com/u/Vegz78)\
**Post date:** [October 28, 2024, 3:51pm UTC](https://forum.makecode.com/t/editor-magic-url-flags/10743/10 "2024-10-28T15:51:10Z")

</div>

Genius at work from @martinwork!:

```auto
https://makecode.microbit.org/---multi#pub:_YTbKYAAimAxz:|:pub:_LxghRpHJaKq8

```

As a way to share a link to two interconnected projects which both open directly in the `---multi` split screen editor view!

> <https://github.com/microsoft/pxt-microbit/issues/5397#issuecomment-2440120667>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> When using t…he radio function in a classroom setting with the simulator, it is intuitive to use the https://makecode.microbit.org/---multi# editors and, for example, have the sender program in the left editor window and the receiver program in the right.
> 
> \*\*Describe the solution you'd like\*\*
> I'd like to be able to make a link that opens 2 shared projects, the first in the left window and the second in the right window, maybe with some custom magic URL, maybe like this:
> https://makecode.microbit.org/---multi#\_YTbKYAAimAxz&\_LxghRpHJaKq8
> 
> \*\*Describe alternatives you've considered\*\*
> I have found no alternatives.
> 
> \*\*Additional context\*\*
> The feature has been discussed on the forum:
> https://forum.makecode.com/t/editor-magic-url-flags/10743/5?u=vegz78

NB: [@teachers](https://forum.makecode.com/groups/teachers), @bsiever, @richard, @KIKIvsIT!

PS: Beware that the character | (vertical bar) in the URL often is reencoded to %7C, which does not work. For instance, the links work as Google Classroom “link attachments” to a classroom assignment, but no as a link embedded in the assignment description text.
