The (unofficial) Cairo extension for vscode

Overview

Cairo extension (unofficial)

Extension version Number of downloads

Introduction

The Starkware team is doing a great job in developing the Cairo language and the Starknet layer2. At the time I create this repository, the team is focused on issues and improvements (regenesis, cairo v1...) much more important than the development of the vscode extension, which is absolutely fine. However, since the vscode extensions lives in the cairo-lang monorepo its non-priority development is slowed down.

This repository is a way to relieve the Starkware teams by out-sourcing the development of the vscode extension. I don't think that the cairo-lang monorepo is the right place to host a product like this one whose development dynamics and code severity is different from the language itself.

This extension is intended to support all the features developed by Starkware up to now, and to add to it features that make the development of programs written in Cairo smoother.

preview of the extension

Installation

Make sure you installed vsce globally and you installed the dependencies of this repository. These steps only need to be done once

npm install -g vsce
npm install

Install current version of the extension on vscode

Run the following command to package the extension and install it locally

npm run package && npm run deploy:local

Configuration

If you have cairo-format installed globally (available in PATH), the value of cairo.cairoFormatPath should be cairo-format (the default).

If you're working inside a StarkWare repository, and want the most up-to-date version, set the value of cairo.cairoFormatPath to

${workspaceFolder}/src/starkware/cairo/lang/scripts/cairo-format

Comparison

This extension supports all the features developed by Starkware, plus

  • A new snippet for the @view decorator
  • A new snippet for the @constructor decorator
  • A new snippet for the @raw_input decorator
  • A new snippet for the @raw_output decorator
  • A new snippet that let you create a function that uses both the @raw_input and @raw_output decorators
  • An improvement that allows you to write a @storage_var mapping more easily
  • A new snippet to write struct
  • A new snippet for the allocation point ap
  • It auto-close parenthesis/curly braces
  • It allows you to surround your selection with parenthesis/curly braces
You might also like...

💻 VSCode Extension for AdonisJS

💻 VSCode Extension for AdonisJS

💻 Official AdonisJS extension for VSCode Features Use all Adonis Assembler commands ( make:* ) Migrate and seed your database ( db:*, migration:* ) V

Nov 9, 2022

VSCode extension with helpful code snippets for SolidJS.

Solid Snippets VSCode extension with helpful code snippets for SolidJS. GET THE EXTENSION Snippets Trigger Content Languages JSX sinput→ Input two-way

Dec 8, 2022

Optimized dracula theme vscode extension for flutter, web, electron and golang development.

Optimized dracula theme vscode extension for flutter, web, electron and golang development.

Optimized Dracula Theme A color theme inspired by dracula color theme. This color theme is not based on dracula color theme. The color styles are simi

Jul 11, 2022

a vscode extension for http response data auto transform ts type.

a vscode extension for http response data auto transform ts type.

Api2ts 这是一个自动将 http 的响应数据转化为 ts 的类型,使用 json-to-ts 做的。 Features 框选配置项后,使用快捷键 alt+Q : 请求参数配置文件 在根目录下创建 Api2ts.config.json 文件,配置项如下: { "baseURL": "http

Jun 30, 2022

An enhanced VSCode extension for the Move programming language.

Move Analyzer Plus Provides language support for the Move programming language. Install on the VSCode Extension Marketplace: Move Analyzer Plus on the

Aug 12, 2022

Simple and intuitive API Client made into a VSCode extension 😊

Simple and intuitive API Client made into a VSCode extension 😊

REST API Client Simple and intuitive API Client made into a VSCode extension. Visual Studio Marketplace • Repository • Releases Visual Studio Code ext

Dec 23, 2022

🔎 (Draft!) VSCode extension to show the search results in a tree view

🔎 (Draft!) VSCode extension to show the search results in a tree view

vscode-search-tree 🔎 (Draft!) VSCode extension to show the search results in a tree view The work on this extension is on-pause for now since VSCode

Sep 7, 2022

Lightweight VSCode extension for Ruby.

Lightweight VSCode extension for Ruby.

vscode-ruby-light Lightweight VSCode extension for Ruby. Install Install via Visual Studio Marketplace: Ruby Light - Visual Studio Marketplace For Dia

Jan 2, 2023

🧪 A Japa extension for VSCode

🧪 A Japa extension for VSCode

🧪 Japa extension for VSCode Features Run tests without typing anything. Either with a shortcut, or via Code Lenses Support multiple workspaces Suppor

Sep 27, 2022
Releases(v1.3.0)
Owner
qdqdqd.eth
🦇🔊
qdqdqd.eth
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A set of librairies in Cairo for use on StarkNet

Sekai StarkNet Libraries A series of libraries to help using Cairo on StarkNet. Examples for use in other Cairo contracts are provided in examples. Co

Sekai 38 Nov 14, 2022
Workshop for starknetCC (nextjs x starknetjs x cairo)

NextJS - Starknet.js - Cairo • Workshop StarknetCC - Full dApp workshop by Alpha Road team You'll find the PDF presentation here Introduction This wor

419 Labs 15 Nov 8, 2022
VSCode extension that creates overlay for your Broadcasting Software of choice.

BSOverlay VSCode extension that creates an overlay for your Broadcasting Software of choice. Documentation Please refer to the Wiki Section. Installin

chocoearly44 4 Sep 30, 2022
A vscode extension to quickly print variable, variable type, tensor shape etc by using shortcuts

Quick Python Print This repo is inspired by "Python Quick Print". "Python Quick Print" can quickly print out variables on the console by using shortcu

weida wang 5 Oct 28, 2022
VSCode extension for managing text selection.

Selection Manager This Visual Studio Code extension will allow you to manage selected text. The aim of this extension is to increase productivity by u

Sanel Hadžini 2 Apr 12, 2022
VSCode extension for the rickroll-lang programming language (incomplete)

Rickroll-Lang VSCode Extension The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming languag

Siddhesh Zantye 6 Oct 10, 2022
NextJS VScode extension to visualize component tree.

Nexus A component tree extension for NextJS Report Bugs · Request Features Table of Contents About The Project Built With Installation Getting Started

OSLabs Beta 62 Nov 24, 2022
JSDoc generator for JavaScript, TypeScript using AI. (VSCode extension)

JSDoc generator for JavaScript, TypeScript using AI. (VSCode extension)

Amir Reza Dalir 3 Aug 18, 2022