Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support VS Code for the Web #37

Closed
Tracked by #38
Savio-Sou opened this issue Sep 1, 2023 · 5 comments
Closed
Tracked by #38

Support VS Code for the Web #37

Savio-Sou opened this issue Sep 1, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@Savio-Sou
Copy link
Contributor

Savio-Sou commented Sep 1, 2023

Problem

When a user opens a GitHub repository through https://github.dev/ and attempts to install the Noir Language Support extension in it, he/she would be prompted with:

The 'Noir Language Support' extension is not available in Visual Studio Code for the Web.

Happy Case

As a Noir developer, I want to use the extension in the manner of:

  1. Visit a Noir project on GitHub (e.g. noir-starter)
  2. Hit "."
  3. Install Noir Language Support extension from the extension panel on the left
  4. Navigate to my Noir program (e.g. noir-starter/next-hardhat/circuits/src/main.nr)
  5. Enjoy the same set of features offered by the extension in local VS Code (e.g. syntax highlighting, warning / error indicators on save, code snippets)

so that I can easily view, write and debug Noir programs in web browsers.

Alternatives Considered

As an MVP, we could support a subset (instead of full set) of features in step (5) above.

Additional Context

VS Code for the Web

Would you like to submit a PR for this Issue?

No

Support Needs

No response

@Savio-Sou Savio-Sou added the enhancement New feature or request label Sep 1, 2023
@phated phated removed their assignment Sep 19, 2023
@jonybur jonybur self-assigned this Sep 25, 2023
@kobyhallx kobyhallx assigned kobyhallx and unassigned jonybur Oct 9, 2023
@Savio-Sou
Copy link
Contributor Author

@kobyhallx brought up the point that this could require either:

  • Separate vscode-noir code branches for local vs web, or
  • Refactoring of the entire LSP codebase to support web

To discuss further on how to approach the problem. cc @kevaundray

@kobyhallx
Copy link
Contributor

To clarify

Refactoring of the entire LSP codebase

we would refactor LSP parts, server interactions etc, while still relying on wasm module bringing in functionality developed so far in Rust related to compilation process.

@kevaundray
Copy link
Contributor

@Savio-Sou The usecase for this was so that developers did not need to set up their environment at in-person workshops/events. Dev containers are easier to implement so we are going with that and putting this low on the priority list. (It's still unclear if we ever need to implement this)

The priority right now is to implement the features needed in the LSP -- I've already CC'd with @kobyhallx earlier this week regarding implementing go to definition.

@kobyhallx
Copy link
Contributor

Also, the point of this was to do this in js so we enable better contracts for js based tooling. Doing this with the browser's first mindset was rather a bonus rather than a goal by itself.

@kevaundray
Copy link
Contributor

Closing this as its no longer relevant, given we have codespaces

@kevaundray kevaundray closed this as not planned Won't fix, can't repro, duplicate, stale Dec 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

5 participants