grants-and-bounties icon indicating copy to clipboard operation
grants-and-bounties copied to clipboard

Blueprint Integration into VS Code as an Extension

Open Gusarich opened this issue 1 year ago • 17 comments

Summary

The primary objective of this Footstep is to develop a comprehensive Visual Studio Code (VS Code) extension that seamlessly integrates with the Blueprint SDK, elevating the smart contract development experience to new heights.

Context

Blueprint already offers a user-friendly command-line interface, making smart contract development a relatively straightforward process. However, by creating a dedicated extension for VS Code, we can further streamline and expedite the entire development and testing workflow.

Goals

  • Enhanced Smart Contract Development: The main focus is to empower developers with a powerful and intuitive toolset, promoting efficient and error-free coding.
  • Accelerated Development and Testing: By providing a versatile and feature-rich VS Code extension, we aim to significantly reduce the time required for developing and thoroughly testing smart contracts.

Deliverables

  • The primary deliverable of this Footstep will be a fully functional and polished VS Code extension that seamlessly integrates with Blueprint, unlocking a host of advanced features and functionalities within the familiar development environment.

Definition of Done

  • [ ] The VS Code extension is meticulously developed, ensuring a smooth and seamless integration with the Blueprint SDK.
  • [ ] Comprehensive testing has been conducted, covering various scenarios and ensuring robustness.
  • [ ] The extension is published and made readily accessible to the entire developer community, fostering a collaborative and inclusive smart contract development ecosystem.

Reward

  • Standard TON Footstep NFT
  • $1000 in TON Equivalent

Total: $1000

Oriental Release Date

TBD

Gusarich avatar Aug 01 '23 13:08 Gusarich

@Naltox, @krigga, it's a useful idea, but I'd like to see your opinion.

delovoyhomie avatar Aug 22 '23 11:08 delovoyhomie

The idea sounds good to me

krigga avatar Aug 24 '23 14:08 krigga

🔥🔥🔥

howardpen9 avatar Sep 21 '23 02:09 howardpen9

I want to start this one. I'll try to release version in 3 weeks. Could you confirm it please?

MKdir98 avatar Oct 18 '23 03:10 MKdir98

@MKdir98, that's great! How much reward would you like to receive?

delovoyhomie avatar Oct 18 '23 13:10 delovoyhomie

@delovoyhomie It's my first task, and I don't have any measurements. I'll appreciate it if you suggest an amount for this.

MKdir98 avatar Oct 18 '23 16:10 MKdir98

@howardpen9, @krigga, @ProgramCrafter, @aSpite, @reveloper, drawing upon your expertise, what would be your estimate of the cost in hours for carrying out the integration, considering the resources that will be expended on it?

delovoyhomie avatar Oct 19 '23 08:10 delovoyhomie

I don't have expertise about any VS Code extensions so with my general prediction skills I estimate that this would need nine days of work (54 hours assuming six productive hours a day).

ProgramCrafter avatar Oct 19 '23 12:10 ProgramCrafter

I have no experience in developing extensions for VS Code, so I can't help in this matter

aSpite avatar Oct 20 '23 12:10 aSpite

Hi again. I want to report to my work until now. I was challenged with Webpack for 3 days (we have process.cwd() in the blueprint and it makes some problems for path) and finally I gave up and continued with tsc.

MKdir98 avatar Oct 24 '23 19:10 MKdir98

@delovoyhomie so who will you assign this task to? and what about reward?

Gusarich avatar Oct 24 '23 19:10 Gusarich

Hello everybody.

I just released the first version. https://github.com/MKdir98/blueprint-vscode-extension

Please check it. I have some problems with the design part. Any suggestion in any field will be appropriate.

Is it OK to release my name in the marketplace to show you or we should do it with the blueprint or ton account?

MKdir98 avatar Oct 27 '23 08:10 MKdir98

Hello again. I published the extension in the vscode marketplace. https://marketplace.visualstudio.com/items?itemName=MahdiKarami.ton-blueprint

You can find it by searching ton blueprint in the extensions part of vscode.

I'll appropriate if you tell me your suggestions about it

MKdir98 avatar Nov 02 '23 12:11 MKdir98

@MKdir98,

image

When I press the blueprint button, it loads endlessly

aSpite avatar Nov 17 '23 12:11 aSpite

Hello. I'm sorry for the delay. I was busy. I'll check it. We have some issues with the project too. I created two issues for them. https://github.com/MKdir98/blueprint-vscode-extension/issues

MKdir98 avatar Dec 01 '23 06:12 MKdir98

@MKdir98 hello, we are very sorry for the delay in the review. I took a look at the code of your extension, and there is a problem that needs to be fixed - your extension currently uses blueprint as a dependency, and that is not good for several reasons, namely: 1) blueprint used in the extension will not be receiving updates until the extension itself is updated, and 2) the extension uses private functions from blueprint. The way to fix this issue is to use blueprint through the CLI - if you need to get some information from blueprint (for example, which scripts/contracts are available etc.), tell me about the needed information, and I will create CLI commands that will output the information in a convenient format (JSON or whatever you prefer).

krigga avatar Mar 20 '24 15:03 krigga

@MKdir98 hello, we are very sorry for the delay in the review. I took a look at the code of your extension, and there is a problem that needs to be fixed - your extension currently uses blueprint as a dependency, and that is not good for several reasons, namely: 1) blueprint used in the extension will not be receiving updates until the extension itself is updated, and 2) the extension uses private functions from blueprint. The way to fix this issue is to use blueprint through the CLI - if you need to get some information from blueprint (for example, which scripts/contracts are available etc.), tell me about the needed information, and I will create CLI commands that will output the information in a convenient format (JSON or whatever you prefer).

Hi. That is OK. But right now I'm working on something else from another project. I'll take a look at this one.

MKdir98 avatar Mar 24 '24 09:03 MKdir98