Skip to content

A VSCode extension providing IDE-like functionality for HUJI's version of Nand2Tetris.

License

Notifications You must be signed in to change notification settings

AvivYaish/nand-ide

 
 

Repository files navigation

Nand2Tetris IDE

Logo

Introduction

This is is a Visual Studio Code extension for Nand2Tetris development based on Zohar Lee's "Nand2Tetris Tools" and Stefano Volpe's "Mastro NANDo".

It incoporates HUJI's version of Nand2Tetris' Software Suite with various Visual Studio Code functionalities. Features unique to HUJI's version, such as shifts, are fully supported.

This extension is meant for students, instructors, and self-learners who want to enhance their Nand2Tetris experience.

Features

Commands

Name Icon Requires Nand to Tetris Software Suite Description
Run code Run Code button ✔︎ Runs your current file (supports .hdl, .asm, .hack and .vm files) via CLI. Needs a .tst file in the same folder to work.
Stop running ✔︎ Aborts code execution
Translate code Translate Code button ✔︎ Translate your current file (supports .asm and .jack files) via CLI
Open Hardware Simulator ✔︎ Runs the Hardware Simulator via GUI
Open CPU Emulator ✔︎ Runs the CPU Simulator via GUI
Open VM Emulator ✔︎ Runs the VM Emulator via GUI
Assembler ✔︎ Runs the Assembler via GUI
Compile directory ✔︎ Compiles the directory of your current file (supports .jack files)
Zip course source Compresses your solution to a zip archive

Languages and icon theme

Language File Extensions Grammar Snippets Icon
Hardware Description Language .hdl ✔︎ ✔︎ ✔︎
Test scripts format .tst ✔︎ ✔︎ ✔︎
Compare and output files format .cmp, .out ✔︎ ✔︎
Hack Assembly .asm ✔︎ ✔︎
Hack Machine Language .hack ✔︎ ✔︎
Hack Virtual Machine Language .vm ✔︎ ✔︎ ✔︎
Jack Language .jack ✔︎ ✔︎ ✔︎

Any icons not listed in the table above have been included in VS Code's built-in icon theme Seti.

Prerequisites

  1. Visual Studio Code

  2. Java Runtime Environment is optional, used for running the Software Suite.

  3. Markdown All in One is highly recommended for those using HUJI's READMEs.

There is no need to manually install Nand2Tetris' Software Suite, as it is already included in the extension itself.

Installation

Visit VSCode's Marketplace.