solang icon indicating copy to clipboard operation
solang copied to clipboard

visual studio code extension needs references/definitions

Open seanyoung opened this issue 2 years ago • 18 comments

The visual studio code extension gives compiler diagnostics (i.e. compiler warnings and errors). For functions, variables, and all other types (events, contracts, etc) it should be able to:

  • Go to definition
  • Go to type definition
  • Find references
  • Find all references
  • Rename (and rename all the references)

seanyoung avatar Mar 27 '22 09:03 seanyoung

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 600.0 DAI (600.0 USD @ $1.0/DAI) attached to it.

gitcoinbot avatar Apr 13 '22 12:04 gitcoinbot

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 264 years, 2 months from now. Please review their action plans below:

1) vividwood has applied to start work (Funders only: approve worker | reject worker).

Hi, I have experience in developing VS Code extensions and will be glad to work on this bounty! 2) clevermacaw has applied to start work (Funders only: approve worker | reject worker).

I am very familiar with VS Code and have experience working with VS Code extensions. 3) xinminsu has applied to start work (Funders only: approve worker | reject worker).

1.Visual Studio Code extension i make https://marketplace.visualstudio.com/items?itemName=xinminsu.agsi 2.add References/Definitions for solang, Solidity Compiler for Solana, Substrate, and ewasm 3.using Visual Studio Code to test extension, and publish this extension. 4) littlezigy has been approved to start work.

Hi. I would like to work on this bounty. I have some experience writing VS code extensions,

I will have this completed in the next few days.

Learn more on the Gitcoin Issue Details page.

gitcoinbot avatar Apr 13 '22 14:04 gitcoinbot

@Web3Foundation can you please approve @bshevchenko , thank you.

seanyoung avatar May 03 '22 14:05 seanyoung

@Web3Foundation @seanyoung got it 👌🏻

bshevchenko avatar May 19 '22 05:05 bshevchenko

@bshevchenko have you made any progress on this bounty?

seanyoung avatar Jul 01 '22 13:07 seanyoung

Hello Is this bounty still open?

littlezigy avatar Aug 25 '22 12:08 littlezigy

@littlezigy noone is working on this so the bounty is still available. If you would like to work on it, please do. While you are working on it apply on the gitcoin page too, thanks.

seanyoung avatar Aug 25 '22 12:08 seanyoung

Nice! I'll be awaiting your approval.

littlezigy avatar Aug 25 '22 12:08 littlezigy

Just before we approve you - what's the plan for this work? Do you have any rust experience?

seanyoung avatar Aug 25 '22 12:08 seanyoung

I have only a little experience with rust, but I have a lot of experience with Go. However, I pick up languages very fast.

I plan to add the following functionality described in the project description

  • Go to definition
  • Find (all) references
  • Rename (all) references

I will add tests for the new features to (the test folder). I assume this is the extension directory: https://github.com/hyperledger-labs/solang/tree/main/vscode

littlezigy avatar Aug 25 '22 13:08 littlezigy

I will add tests for the new features to (the test folder). I assume this is the extension directory: https://github.com/hyperledger-labs/solang/tree/main/vscode

The language server is written in rust, not typescript: https://github.com/hyperledger-labs/solang/blob/main/src/bin/languageserver/mod.rs

seanyoung avatar Aug 25 '22 13:08 seanyoung

@Web3Foundation can you please approve @littlezigy, thank you.

seanyoung avatar Aug 25 '22 13:08 seanyoung

Ah okay. Thanks

littlezigy avatar Aug 25 '22 13:08 littlezigy

Hi @seanyoung. Is it okay if I edit the extension so it uses docker solang if it is available?

littlezigy avatar Aug 28 '22 14:08 littlezigy

Hi @seanyoung. Is it okay if I edit the extension so it uses docker solang if it is available?

Why would you want it to use docker? This introduces another dependency, which really needs justification.

seanyoung avatar Aug 28 '22 16:08 seanyoung

Hi @seanyoung. Is it okay if I edit the extension so it uses docker solang if it is available?

Why would you want it to use docker? This introduces another dependency, which really needs justification.

The binary doesn't work on my computer (Ubuntu 18.04) so I'm using docker. The extension keeps downloading and calling the binary package. I still plan to keep it working this way, but I want to add a check for the docker image then have the extension use that if the user sets that in the extension settings.

littlezigy avatar Aug 28 '22 17:08 littlezigy

Hi @seanyoung. Is it okay if I edit the extension so it uses docker solang if it is available?

I won't be doing this anymore. I figured out a way to handle this.

littlezigy avatar Aug 29 '22 09:08 littlezigy

@Web3Foundation could you approve me?

littlezigy avatar Aug 30 '22 11:08 littlezigy

@Web3Foundation please can you approve @darkdrag00n, they have done a lot of work already, see https://github.com/hyperledger/solang/pull/1116 thank you

seanyoung avatar Dec 29 '22 09:12 seanyoung

This has been implemented by @chioni16 (e.g. https://github.com/hyperledger/solang/pull/1514)

seanyoung avatar Sep 20 '23 14:09 seanyoung