go-lang-plugin-org / go-lang-idea-plugin

Google Go language IDE built using the IntelliJ Platform
https://plugins.jetbrains.com/plugin/5047
Other
4.56k stars 571 forks source link

go-guru freevars and implements features #2681

Open abourget opened 8 years ago

abourget commented 8 years ago

I'm trying to do something like go-guru's freevars, to do extraction. Also, I'm trying to list the structs that implement a certain interface. Those two things are already available in go-guru.. and I assumed I could simply call it from IDEA.

Any reason why we don't want to use go-guru ?

It seems it would solve this one https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/1251 which is long standing, as well as https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/604

I know what go-guru does is quite complex.. so I thought it'd be useful to not have to re-implement.

If we can have those two features without go-guru, I'd be fine also :)

Subissue of #604

zolotov commented 8 years ago

Any reason why we don't want to use go-guru ?

The main reason is that we must support broken non-compilable code.

It seems it would solve this one #1251 which is long standing, as well as #604

1251 is easier to do inside plugin than with external process.

As far as I know guru cannot extract method so we can't solve #604 with it?

As for the issue, I don't see any practical benefit in freevars implementation, do you?

abourget commented 8 years ago

no indeed.. I guess the only interesting thing is the implements feature, where we can list all the types that implement a given interface.

I thought a quick integration would provide that feature, but maybe there are more downsides than upsides :)

abourget commented 8 years ago

I've noticed a "Go tools" menu (or something alike) .. perhaps calling out in there could rely on pre-installed software if available ?

zolotov commented 8 years ago

Oh, ok. Well, I believe implements and overrides feature will be available soon. As for this issue, let's keep it as a subissue of #604.

I thought a quick integration would provide that feature

Yes, feel free to implement it via GoTools, I don't mind to merge it.

chiiph commented 8 years ago

Oh, ok. Well, I believe implements and overrides feature will be available soon.

Any idea how soon?

brtn commented 8 years ago

Oh, ok. Well, I believe implements and overrides feature will be available soon.

Are there any issues for these features?