volunteer icon indicating copy to clipboard operation
volunteer copied to clipboard

New Project Proposal - Solidity plugin for Intellij

Open splix opened this issue 7 years ago • 19 comments

IntelliJ IDEA is second most popular IDE for JVM (have 44% share, after Eclipse 48%). Also it's popular on other platforms and have special versions for developers on Python, PHP, Ruby and C/C++. Many of ETC Dapp developers are using this IDE.

But currently it doesn't have a plugin for Solidity, check there https://plugins.jetbrains.com/search/index?search=solidity

I think it's important to create a basic plugin, for a minimal version it will be enough to have:

  • syntax coloring for Solidity language
  • calling an external Solc and getting ABI and bytecode for a file

ETC community & Dapp developers will appreciate if anyone will start this plugin. There're many open source examples of similar plugins. This is for Dart, for example: https://github.com/JetBrains/intellij-plugins/tree/master/Dart

splix avatar Sep 08 '16 14:09 splix

Hi @splix. For Windows, enter the filetypes folder at .WebstormXXXX.X\config\filetypes and add the Solidity.xml file to it. If there is no filtetypes folder inside the config folder, create it.

I found this solution after reading this issue.

ProphetDaniel avatar Dec 11 '16 19:12 ProphetDaniel

I have begun working on this with help from the @rootstock team. Expect some updates on it soon. Send me an email if you want to know more.

federicobond avatar Feb 20 '17 15:02 federicobond

Hey!

I also started some work recently: https://github.com/SerCeMan/intellij-solidity

You can check it out here, it's mostly a basic syntax highlighting: https://plugins.jetbrains.com/idea/plugin/9475-intellij-solidity

SerCeMan avatar Feb 21 '17 12:02 SerCeMan

@federicobond Hopefully, this is a plugin you mentioned or else we have a third one :)

https://github.com/LogvinovLeon/intellij-solidity by @LogvinovLeon

SerCeMan avatar Feb 21 '17 12:02 SerCeMan

Yes. I started working on that a couple of days ago because I didn't find the previous ones. Why are they not published? I have implemented basic file type, file templates and an action for creating files. I have also started rewriting the grammar. It's almost finished, but still needs some work. Now I'm able to correctly parse some contracts except the ones with incomplete tuples. Implementing syntax highliting would be easy after that. But we should deifnitely merge our efforts and publish at least some basic version in a plugin repository.

LogvinovLeon avatar Feb 21 '17 12:02 LogvinovLeon

Both our plugins are published :) Moreover, on the same day.

SerCeMan avatar Feb 21 '17 12:02 SerCeMan

Are you waiting for approval?

LogvinovLeon avatar Feb 21 '17 12:02 LogvinovLeon

They are available screen shot 2017-02-21 at 11 44 09 pm

SerCeMan avatar Feb 21 '17 12:02 SerCeMan

Let's continue this discussion on gitter of your project

LogvinovLeon avatar Feb 21 '17 12:02 LogvinovLeon

To all folks visiting this issue: We merged our efforts. The repository was moved here. We would continue working on that, but initial version is already released. I have deleted my plugin from JetBrains repository, so that noone would be confused.

LogvinovLeon avatar Feb 21 '17 13:02 LogvinovLeon

Awesome, thanks guys! Will try it out in a few days.

pdaya avatar Feb 21 '17 15:02 pdaya

Cool, I was just starting to work on something more ambitious. I would like to implement the interfaces to support automated refactoring and code intelligence. Happy to contribute to your plugin!

federicobond avatar Feb 21 '17 15:02 federicobond

I just invited you to the organization @federicobond

LogvinovLeon avatar Feb 21 '17 15:02 LogvinovLeon

Hey guys, I'm an eclipse guy and new to IntelliJ but I just installed it and imported the IntelliJ-Solidity plugin but have no idea how to associate it to a project or even what kind of project I should be creating. Any ideas?

ghost avatar Oct 07 '17 03:10 ghost

Hey, @biguls!

You don't need any special kind of project. The .sol file association should be created automatically. If that didn't happen, for example, if you tried to associate *.sol with anything else, you will need to create it manually.

SerCeMan avatar Oct 09 '17 19:10 SerCeMan

It shows "Exception in unknown plugin" !!

Rakesh-Saini avatar Dec 19 '17 13:12 Rakesh-Saini

Hey, @Rakesh-Saini!

Can you describe the problem in more details?

SerCeMan avatar Dec 19 '17 13:12 SerCeMan

Well am totally new to solidity..(just a beginner) this error message is shown in the IDE fatal errors window "update failed for AnAction with ID=RunConfiguration"

Rakesh-Saini avatar Dec 19 '17 13:12 Rakesh-Saini

@Rakesh-Saini, it's very hard to say what's happened given only this message. It seems like the problem you're experiencing might not be related to the plugin.

SerCeMan avatar Dec 19 '17 13:12 SerCeMan