Run code step-by-step inline
In collaboration with Robert Haisfield
Motivation
In order to use functions, developers need to understand what they do, especially if they are learning to code. But "Go to definition" takes the developer out of their context, and requires them to simulate and create a mental map of the codebase. By replacing code in place it could help developers understand the code better.
Screen Captures
1: Identifying where the code can be replaced
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Feef23a95-d5f4-499f-9b84-380c1a20b302%2F2021-06-09_-_Typescript_Can_Replace.gif?table=block&id=8da2fe10-7f09-4ced-8ec3-f4f55065141b&cache=v2)
2: Replacing a function call by the function body
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1bcc63a9-e101-4fd5-bcee-2c9275ea92c8%2F2021-06-21_-_Mathsub_Replace_Args.gif?table=block&id=7567e5bb-b026-447a-ada9-12726ff0a1dd&cache=v2)
3: Replace functions within functions
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd837b11d-d2de-4474-bfdb-0d1241fffeef%2F2021-06-23_-_Mathsub_Replace_2_Args.gif?table=block&id=56900df3-2b9a-47b7-8f5b-190684b62892&cache=v2)
4: Recursive replacement
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe57cb16c-aecd-4a63-b842-c6b50d2bec49%2F2021-06-24_-_Mathsub_Recursive.gif?table=block&id=4f23f4aa-4cd4-4bb4-b9b6-f9f68bf4d556&cache=v2)