Coder Social home page Coder Social logo

Integration with Jetbrains IDEs about fig HOT 86 CLOSED

withfig avatar withfig commented on July 21, 2024 100
Integration with Jetbrains IDEs

from fig.

Comments (86)

mschrage avatar mschrage commented on July 21, 2024 35

Still some kinks to be ironed out, but....
Screen Shot 2022-01-07 at 5 39 49 PM

from fig.

geenva avatar geenva commented on July 21, 2024 15

IntelliJ IDEA, please!

from fig.

mschrage avatar mschrage commented on July 21, 2024 14

You no longer need to be on a beta version of Fig to get access to autocomplete inside of Jetbrain's IDEs. However, currently the integration is a bit tricky to setup which is why it is hidden by default.

Instructions for those who are brave enough to attempt it:

  1. Run fig settings integrations.experimental true and then restart the Fig app
  2. Click the Fig menubar icon > Integrations > $YOUR_JETBRAINS_IDE > "Attempt to Install"
  3. Go to a terminal and run fig debug ime enable. A System Preferences window will appear and prompt you to install a third party Input Method.
  4. Run fig debug ime select
  5. Restart the IDE and autocomplete should appear🀞

PS. If your favorite Jebrains IDE doesn't appear in the list of integrations, please send me it's bundle identifier and I can add it.

Edit: it seems like there are intermittent issues when installing using JetBrains ToolBox. Sometimes it works and sometimes it doesn't.

from fig.

mschrage avatar mschrage commented on July 21, 2024 13

@marggx this is one of our goals for the month!

from fig.

mschrage avatar mschrage commented on July 21, 2024 10

@marggx not yet!

@etcook it is coming - I promise!

from fig.

mschrage avatar mschrage commented on July 21, 2024 8

Just updated the list to include GoLand, AppCode, RubyMine and RiderIDE!

We've made some good progress on Terminal integrations in the last sprint and I'm pretty optimistic that we'll be able to get Fig working in JetBrains IDEs soon!

from fig.

mschrage avatar mschrage commented on July 21, 2024 7

Sorry for the delay on this. We launched decided to focus on stability after the public launch.

The core technical difficulties of integrating with JetBrains IDEs have been figured out -- it is definitely possible! -- but we still need to write the actual integration.

from fig.

mschrage avatar mschrage commented on July 21, 2024 6

Thanks for creating the issue! We definitely want to add support for for Jetbrains IDEs.

Whether this is possible comes down to how much they expose with their extension API + to the macOS accessibility API.

In order to build out the integration, we need to...

  1. Locate bounding rect of cursor
  2. Determine when user is typing into a terminal versus the editor
  3. If the IDE allows multiple terminal windows/tabs to be created, determine when the user changes keyboard focus between them

Let me know if you have any thoughts :)

from fig.

mschrage avatar mschrage commented on July 21, 2024 6

And we just announced this onTwitter!

If you’re enjoying Fig + JetBrains, please share it with your friends :)

from fig.

olivernybroe avatar olivernybroe commented on July 21, 2024 3

Hi, I have done multiple plugins for IntelliJ, and just so everyone are aware, by them creating a plugin it will work for all IntelliJ products, including Android Studio.

@mschrage What specifically is it you guys are looking for in the API? Like what do you need to build an integration?

from fig.

sametcelikbicak avatar sametcelikbicak commented on July 21, 2024 3

Just updated the list to include GoLand, AppCode, RubyMine and RiderIDE!

We've made some good progress on Terminal integrations in the last sprint and I'm pretty optimistic that we'll be able to get Fig working in JetBrains IDEs soon!

That's great news, I'm so excited with new release which is support JetBrains IDEs.

from fig.

bvitaliyg avatar bvitaliyg commented on July 21, 2024 3

Note that the output is different when the app was installed using Jetbrains Toolbox:
Android Studio: com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox__ndroid_tudio_rctic_ox_2020_3_1_atch_4
GoLand: com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox__o_and_2021_3_1
PhpStorm: com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox__hp_torm_2021_3
RubyMine: com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox__uby_ine_2021_3

from fig.

etcook avatar etcook commented on July 21, 2024 3

Would love to see IntelliJ support

from fig.

duboiss avatar duboiss commented on July 21, 2024 3

image

Works well on my side, I didn't even have to restart the IDE.

However after 2) I got a popup with an error, about "Input method" before I even did 3).
The "learn more" link points to https://fig.io/docs/support/enabling-input-method, I just point it out to make sure you don't forget this part of the documentation :)

Thanks a lot

from fig.

JasonTheAdams avatar JasonTheAdams commented on July 21, 2024 3

I just got this working on PhpStorm and...

so beautiful

from fig.

adam-code-labx avatar adam-code-labx commented on July 21, 2024 2

Hey @mattschrage I am not a java developer, worked with almost every other language except java.
However this could be an interesting plugin for us to understand how to interact with the built in terminal? https://github.com/anthraxx/intellij-awesome-console (At least it doesn't look as complicated as objective-c πŸ˜†)

from fig.

sztelzer avatar sztelzer commented on July 21, 2024 2

Please add JetBrains GoLand to this list.
There is always multiple terminals open near a Go project.

from fig.

mschrage avatar mschrage commented on July 21, 2024 2

Plugins can be automatically installed by moving them to the plugins folder of IDE. See: https://intellij-support.jetbrains.com/hc/en-us/articles/206544519

from fig.

germagla avatar germagla commented on July 21, 2024 2

Can confirm it works on Pycharm CE 2021.3.2.

Screenshot 2022-03-08 at 9 20 13 PM

from fig.

Im-Fran avatar Im-Fran commented on July 21, 2024 2

Yeah, seems to be an issue with toolbox setups cuz is not working for me :(

Edit: I've reinstalled my IDEs without toolbox and after following these steps I got it working on PhpStorm!!
image

from fig.

Billson7 avatar Billson7 commented on July 21, 2024 2

Not sure if i've missed a step, IDEA is not showing for me yet
Screenshot 2022-03-17 at 09 07 13

I don't know if you're still not seeing IntelliJ, but maybe you could run fig update and fig doctor, before I opened the terminal to test in IntelliJ, fig was auto updated and then I could use Fig :p

My intellij was definitely not really out of date πŸ‘€

It's working now, thanks! πŸŽ‰

from fig.

mschrage avatar mschrage commented on July 21, 2024 2

In the latest version of Fig, support for JetBrain IDEs is turned on by default! πŸŽ‰

Just run fig install --input-method

from fig.

YannCebron avatar YannCebron commented on July 21, 2024 2

@mschrage Thanks a lot for covering our IDEs πŸ‘ It seems the Fig IntelliJ plugin is installed into the application path itself instead of the "additional plugins" path, could you please check and change it? See https://intellij-support.jetbrains.com/hc/en-us/articles/206544519-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs. Otherwise, it is currently detected as "bundled" plugin which is misleading. Thanks!

from fig.

mschrage avatar mschrage commented on July 21, 2024 1

To work with any Jetbrains IDE, we need to somehow get notifications when:

  1. The embedded terminal is opened / closed
  2. A new terminal tab is opened
  3. A user switches terminal tabs / some unique identifier for knowing which terminal tab is currently open
  4. The embedded terminal becomes focused
  5. The embedded terminal loses focus

@olivernybroe did some research into this:

Yeah the IntelliJ API is massive and can be pretty overwhelming. So the terminal which you guys wanna build into is actually a plugin on IntelliJ. https://github.com/JetBrains/intellij-community/tree/master/plugins/terminal

So the terminal plugin registers 3 first-party extension points.

By looking into the class, what it seems like you would need is to get the TerminalView from the project services, run TerminalView#getWidgets and on each of them you can add a listener of the type JBTerminalWidgetListener
https://github.com/JetBrains/intellij-community/blob/master/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalView.java
https://github.com/JetBrains/intellij-community/blob/master/platform/execution-impl/src/com/intellij/terminal/JBTerminalWidgetListener.java

If you take a look at the JBTerminalWidgetListener it has a lot of the information you need.

from fig.

kylegrieder avatar kylegrieder commented on July 21, 2024 1

Yes, I'll second GoLand as well. I use this daily, as well as WebStorm.

from fig.

akashshyamdev avatar akashshyamdev commented on July 21, 2024 1

That's great πŸ‘

from fig.

koppieesq avatar koppieesq commented on July 21, 2024 1

Yay!! Here's the output for a few JetBrains IDEs:

WebStorm: com.jetbrains.WebStorm
GoLand: com.jetbrains.goland (notice the capitalization scheme varies!)
PhpStorm: com.jetbrains.PhpStorm
PyCharm: com.jetbrains.pycharm

Thanks in advance for all your hard work - I can't wait to see it in action!

from fig.

sebavuye avatar sebavuye commented on July 21, 2024 1

Can confirm it works with WebStorm 2021.3.1.

Screen Shot 2022-03-08 at 22 09 44

Thanks!

from fig.

etcook avatar etcook commented on July 21, 2024 1

If the IDE you use isn't showing up, please determine the bundle identifier of the application and share it here!

Also let me know if you installed it using JetBrains toolbox or directly!

com.jetbrains.intellij

toolbox

2021.3.2 (213.6777.52)

from fig.

R-Bower avatar R-Bower commented on July 21, 2024 1

Confirmed working on WebStorm 2021.3.2.

from fig.

RodrigoTomeES avatar RodrigoTomeES commented on July 21, 2024 1

Hi,

Since I install Fig plugin for Jetbrain I receive this error each time I open a terminal, anyone has a fix for it?

imagen

Also, Fig app say that I need to install the plugin but I already have it.

imagen

imagen

imagen

Thanks!

from fig.

kylegrieder avatar kylegrieder commented on July 21, 2024 1

can confirm this is now working for me!

toolbox installations of goland, webstorm and phpstorm

from fig.

mschrage avatar mschrage commented on July 21, 2024 1

Thanks @etcook - I've just added Rider + CLion. They might have missed the cutoff for the release today but should be included shortly.

from fig.

duongleh avatar duongleh commented on July 21, 2024 1

Hi, I got the same issue with #49 (comment). Running step 3 does not open the System Preferences window. Note that I did make it work before, but since updating to the v1.0.56 (B405) I have to redo all the steps and stuck at step 3 still then.

Update to the latest version and this issue no longer appears πŸŽ‰

from fig.

mschrage avatar mschrage commented on July 21, 2024 1

Support for PyCharm CE and Android Studio is coming in the next release!

  • fixes for some issues that have popped up with conflicts between Fig and JetBrain's shell integrations.

#1083 #1038 #1099 #1069

from fig.

F3n67u avatar F3n67u commented on July 21, 2024 1

In the latest version of Fig, support for JetBrain IDEs is turned on by default! πŸŽ‰

Just run fig install --input-method

@mschrage great work!

from fig.

sametcelikbicak avatar sametcelikbicak commented on July 21, 2024 1

In the latest version of Fig, support for JetBrain IDEs is turned on by default! πŸŽ‰

Just run fig install --input-method

@mschrage thanks for effort and great work πŸ‘

from fig.

mschrage avatar mschrage commented on July 21, 2024

Thanks for the suggestion @adam-code-labx! I've looked into the extensions API and it's not clear that it provides the information we need. I plan on investigating further soon!

from fig.

PsyGik avatar PsyGik commented on July 21, 2024

I wanna say Android Studio as well. But since Android Studio is loosely based on JetBrains' IntelliJ IDEA software, I suppose starting with JetBrains' products first makes sense to me. Would love to discuss more!

from fig.

sametcelikbicak avatar sametcelikbicak commented on July 21, 2024

Thanks for this issue, also it would be great to support JetBrains Rider IDE terminal

from fig.

panckreous avatar panckreous commented on July 21, 2024

RubyMine and AppCode as well would be divine

from fig.

marggx avatar marggx commented on July 21, 2024

Any news on this ?

from fig.

SeongwoonHong avatar SeongwoonHong commented on July 21, 2024

Looking forward to have this 😁

from fig.

nmolham-godaddy avatar nmolham-godaddy commented on July 21, 2024

@mschrage thanks for the hard work, looking forward PhpStorm support

from fig.

ronanwp avatar ronanwp commented on July 21, 2024

It would be great to have this in GoLand as well. Thank you!

from fig.

bvitaliyg avatar bvitaliyg commented on July 21, 2024

I think we may need to consider treating Android Studio requests as a part of this ticket as it uses the same engine.

from fig.

sametcelikbicak avatar sametcelikbicak commented on July 21, 2024

Sorry for the delay on this. We launched decided to focus on stability after the public launch.

The core technical difficulties of integrating with JetBrains IDEs have been figured out -- it is definitely possible! -- but we still need to write the actual integration.

Great news, JetBrains IDE support coming soon, I can't wait πŸ‘

from fig.

kylegrieder avatar kylegrieder commented on July 21, 2024

Seeing this comment last night got me hopeful that this is almost ready... πŸ‘€

from fig.

mschrage avatar mschrage commented on July 21, 2024

JediTerm runs a shells with custom rc files before sourcing the user's. See https://github.com/JetBrains/intellij-community/tree/master/plugins/terminal/resources

from fig.

mschrage avatar mschrage commented on July 21, 2024

If you are interested in getting Fig to work in your favorite JetBrains IDE, would you please run osascript -e 'id of app "NAME OF IDE" and share the output here?

There is a special Christmas present in the works! πŸŽ„πŸŽ

from fig.

duboiss avatar duboiss commented on July 21, 2024

PHPStorm: com.jetbrains.PhpStorm
DataGrip: com.jetbrains.datagrip

For DataGrip, Terminal plugin is not install by default but I'm pretty sure some users install it.

from fig.

marggx avatar marggx commented on July 21, 2024

Is there a build for phpstorm i can test out?

from fig.

pronovaso avatar pronovaso commented on July 21, 2024

Hi. Is normal, if combination of Webstorm + ZSH shell not work together?

from fig.

mschrage avatar mschrage commented on July 21, 2024

@pronovaso yes, currently Webstorm is not yet supported.

from fig.

pszalko avatar pszalko commented on July 21, 2024

Looking forward for phpStorm support! πŸ”₯

from fig.

pvds avatar pvds commented on July 21, 2024

@mschrage would love to test the pre-release version to get the kinks out!

@pronovaso Fig doesn't work the same as 'normal' Zsh plugins (by adding them in your .zshrc).
It only adds environment variables in .zshrc.

This has the advantage of not slowing down your terminal (as much?) and by using OS accessibility permissions for extra functionality but the disadvantage that it doesn't work 'out-of-the-box' in any app running Zsh.

from fig.

thisisthekap avatar thisisthekap commented on July 21, 2024

What do I have to do to give the Rider integration a try?

from fig.

NovemberZulu avatar NovemberZulu commented on July 21, 2024

Doesn't seem to work for me, nothing related to Intellij IDEA in integrations

❯ osascript -e 'id of app "IntelliJ IDEA"'
com.jetbrains.intellij

(installed with JetBrains Toolbox)

from fig.

germagla avatar germagla commented on July 21, 2024

I installed PyCharm through JetBrains Toolbox, so I don't think it's a problem with that, since it's working for me.

from fig.

BeauvR avatar BeauvR commented on July 21, 2024

I installed php storm from toolbox, but it's also working. Thanks!

from fig.

etcook avatar etcook commented on July 21, 2024

Not working for me - IntelliJ IDEA Toolbox install

from fig.

sametcelikbicak avatar sametcelikbicak commented on July 21, 2024

Is anyone try with JetBrain's Rider IDE ?, I was testing but, after step 1, step 2 does not available like below

image

My Rider specs...
Screen Shot 2022-03-09 at 14 24 08

from fig.

Billson7 avatar Billson7 commented on July 21, 2024

@mschrage

How did you get this in IDEA? Mines only showing WebStorm under integrations, not IDEA 😞

from fig.

marggx avatar marggx commented on July 21, 2024

PHPStorm installed from toolbox works fine πŸš€

from fig.

Im-Fran avatar Im-Fran commented on July 21, 2024

@mschrage

How did you get this in IDEA? Mines only showing WebStorm under integrations, not IDEA 😞

Idk if I'm allowed to do this, but I wanted to have it in IDEA so I went to the Fig.app/Contents/Resources and manually unzipped the jet brains-extension-2.0.0.zip file and tried to manually install the fig extension but got this message:
image

Maybe you need an older version?

from fig.

NovemberZulu avatar NovemberZulu commented on July 21, 2024

I have 213.* version of IDEA -- 2021.3.2 U to be exact. That probably explains why it doesn't work for me...

from fig.

mschrage avatar mschrage commented on July 21, 2024

If the IDE you use isn't showing up, please determine the bundle identifier of the application and share it here!

Also let me know if you installed it using JetBrains toolbox or directly!

from fig.

clo4 avatar clo4 commented on July 21, 2024

Android Studio (manual install): com.google.android.studio

Using toolbox, all the bundle IDs start with com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox, would we be able to match based on something like this too?

bundleIdentifier.starts(with: "com.jetbrains.toolbox.linkapp.pcom.jetbrains.toolbox")

from fig.

kylegrieder avatar kylegrieder commented on July 21, 2024

I too am on .213 versions of my IDEs, so nothing is showing up for me in "Integrations"

toolbox for installation

com.jetbrains.goland, com.jetbrains.WebStorm, com.jetbrains.PhpStorm

from fig.

R-Bower avatar R-Bower commented on July 21, 2024

I'm not sure if this is related, but the Search Everywhere (Double-tap Shift) feature no longer works after installation of the WebStorm Fig plugin.

Has anyone else had this problem?

from fig.

clo4 avatar clo4 commented on July 21, 2024

@R-Bower Can't reproduce on IntelliJ IDEA or PyCharm CE, the Fig extension is the exact same, and it's basically the same app running. I don't think this is related to the extension but I might be wrong.

Just to understand a bit better - is it not popping up for you? Is it showing wrong results?

from fig.

R-Bower avatar R-Bower commented on July 21, 2024

@R-Bower Can't reproduce on IntelliJ IDEA or PyCharm CE, the Fig extension is the exact same, and it's basically the same app running. I don't think this is related to the extension but I might be wrong.

Just to understand a bit better - is it not popping up for you? Is it showing wrong results?

It's not showing up. I tried activating it from the Navigate tool menu and it's the same result. Nothing happens. As I said, it may be unrelated to the plugin. Ty for investigating! I'll do some more digging.

from fig.

R-Bower avatar R-Bower commented on July 21, 2024

Looks like it was an issue with my 2021.3.2 installation. All good now, thanks!

from fig.

etcook avatar etcook commented on July 21, 2024

Forgive me if I'm just being dense, but is there currently a way to get it to "see" the installation if it's not showing up? I added my version + installation method above.

com.jetbrains.intellij
toolbox
2021.3.2 (213.6777.52)

from fig.

R-Bower avatar R-Bower commented on July 21, 2024

Forgive me if I'm just being dense, but is there currently a way to get it to "see" the installation if it's not showing up? I added my version + installation method above.

com.jetbrains.intellij
toolbox
2021.3.2 (213.6777.52)

As mentioned in earlier posts, toolbox installations are spotty. If you still want to use toolbox, you can try the following:

  • Remove jetbrains-extension-2.0.0 from your plugins folder if it exists (default location for toolbox installs is ~/Library/Application Support/JetBrains/WebStorm2021.3/plugins/jetbrains-extension-2.0.0)
  • uninstall WebStorm from jetbrains toolbox.
  • Install WebStorm manually.
  • Follow all of the steps explained here #49 (comment)
  • Once you've verified that Fig is working, uninstall the manual WebStorm installation and reinstall via toolbox.

This is how I managed to get the plugin working on the latest (2021.3.2) version from toolbox.

from fig.

bvitaliyg avatar bvitaliyg commented on July 21, 2024

Has anyone managed to enable the integration in Android Studio?

from fig.

kylegrieder avatar kylegrieder commented on July 21, 2024

@RodrigoTomeES you need to do steps 3 and 4 in this comment: #49 (comment)

from fig.

etcook avatar etcook commented on July 21, 2024

As mentioned in earlier posts, toolbox installations are spotty. If you still want to use toolbox, you can try the following:

I've tried these steps multiple times, but IntelliJ never shows up as an option. Based on the responses here, it looks like Webstorm, PHPStorm, etc are supported, but IDEA might not be.

from fig.

RodrigoTomeES avatar RodrigoTomeES commented on July 21, 2024

@kylegrieder yes, I solved it redoing the steps 3 and 4, it worked well until I receive an update of Fig, maybe the step 3 and 4 should be done with every update.

from fig.

Im-Fran avatar Im-Fran commented on July 21, 2024

If the IDE you use isn't showing up, please determine the bundle identifier of the application and share it here!

Also let me know if you installed it using JetBrains toolbox or directly!

@mschrage:

> osascript -e 'id of app "IntelliJ IDEA"'                                                        
com.jetbrains.intellij

I can confirm the plugin works with toolbox setups, what I did was: Uninstall the IDE from toolbox, install manually, setup fig, uninstall the IDE using toolbox and then reinstalling with toolbox. Can confirm this currently works with PhpStorm in toolbox πŸ˜ƒ

from fig.

mschrage avatar mschrage commented on July 21, 2024

@Im-Fran @etcook + anyone else interested in Intellij - support will be added in ~2 hours when the next build is released.

I was testing in the community addition and forgot to add the bundle identifier for the paid version. πŸ˜…

I think I can add support for Rider/CLion immediately if anyone can share their bundle id. Android Studio will require additional work to support, but should be coming soon as well.

from fig.

etcook avatar etcook commented on July 21, 2024

I think I can add support for Rider/CLion immediately if anyone can share their bundle id. Android Studio will require additional work to support, but should be coming soon as well.

I installed both to get the identifiers for you.

com.jetbrains.rider
com.jetbrains.CLion

anyone else interested in Intellij - support will be added in ~2 hours when the next build is released.

Wonderful!

from fig.

duongleh avatar duongleh commented on July 21, 2024

Hi, I got the same issue with #49 (comment). Running step 3 does not open the System Preferences window. Note that I did make it work before, but since updating to the v1.0.56 (B405) I have to redo all the steps and stuck at step 3 still then.

from fig.

Billson7 avatar Billson7 commented on July 21, 2024

Not sure if i've missed a step, IDEA is not showing for me yet
Screenshot 2022-03-17 at 09 07 13

from fig.

Im-Fran avatar Im-Fran commented on July 21, 2024

Thanks Matt! I can confirm it now works with IntelliJ!

from fig.

Im-Fran avatar Im-Fran commented on July 21, 2024

Not sure if i've missed a step, IDEA is not showing for me yet
Screenshot 2022-03-17 at 09 07 13

I don't know if you're still not seeing IntelliJ, but maybe you could run fig update and fig doctor, before I opened the terminal to test in IntelliJ, fig was auto updated and then I could use Fig :p

from fig.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.