Usability questions

That’s what the current preview of BashSupport Pro does. But as there are many different types of shells and path mappings on Windows, there still might be setups, which aren’t handled yet.

Details you can ignore:
If you run it from the editor (i.e. not as a run configuration), then:

  • if bash.exe or sh.exe (WSL/Cygwin/Git Bash) are used as the Shell of the terminal, then the interpreter path is mapped to match the shell path mapping.
  • the interpreter path is pasted as native path for other shells, e.g. cmd.exe or cmder_shell.bat

The script path is then mapped to match the type of interpreter.

Automatic in the Run settings should handle most of that. I’m planning to split this to let users configure mapping of interpreter and script path separately.

When I’m on a shell script, I would like to be able to choose my interpreter, like here on a .sh, those detected or those I would have added in a custom IJ settings, at the moment, it proposes nothing and runs the interpreter set in the Terminal settings.

Therefore I have to create a .cmd to be able to run my .sh:
wsl ./build-run-native-in-wsl.sh

There should have been additional “Debug” and “Edit…”/“Create…” items in the popup with the latest version of the plugin.
So far an automatically detected shell was used. I’m changing that now and adding settings to define the shell interpreters. I’ll keep this thread updated when I have the settings ready for testing.

But a complete fix for this will only be available when I add a new type of run configurations. The Shell plugin’s run config is rather limited and hard to extend.

On which version ?

I haven’t managed to install the EAP plugin versions as you can see above and I’m currently using the stable version that I got from the IntelliJ Plugin manager.

If ever it is on your EAP plugin version, could you please rebuild on the last IJ EAP, so, I can test it?

Regards,
Fred.

Version 1.4.2.202 is compatible with 202.5103.13 and later. The latest EAP of IntelliJ is 202.5428.22. But looking at the screenshot above you seem to be using 202.4357.23, which is too old.

If you update to the current eap, then downloading the plugin file and Settings...>Plugins>Install from disk should work for you.
Please let me know if it doesn’t.

I’m having a very hard time with that plugin, I hope it will result into something good :slight_smile:

  • So, at the start I was on the EAP 202.4357.23 with the stable version of BashSupport-pro
  • Then I tried to update my IJ to the last EAP but it hanged with log [1], I reverted and tried nonetheless to install the 1.4.2.202 plugin version (screenshot above)
  • Then from for comment, I tried again to update IJ to the last EAP, it failed with the same log as before [1]
  • I remove that IJ version from my disk and did a fresh install of the last EAP
  • Re-installed every plugin except BashSupportPro and all my settings, all of that manually.
  • Until there, all good.
  • Then, re-installed from disk the 1.4.2.202 plugin version, it asked me to install the JetBrains Shell Plugin and restart
  • My IJ hangs again at startup with the same log as before [1]

I would like to uninstall it manually because the IDE does not start but cannot find the plugin in the plugin directory, can you help?

Regards,
Fred.

[1]

2020-06-13 12:06:37,210 [      0]   INFO -        #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------ 
2020-06-13 12:06:37,242 [     32]   INFO -        #com.intellij.idea.Main - IDE: IntelliJ IDEA (build #IU-202.5428.22, 10 Jun 2020 17:37) 
2020-06-13 12:06:37,243 [     33]   INFO -        #com.intellij.idea.Main - OS: Windows 10 (10.0, amd64) 
2020-06-13 12:06:37,243 [     33]   INFO -        #com.intellij.idea.Main - JRE: 11.0.7+10-b931.3 (JetBrains s.r.o.) 
2020-06-13 12:06:37,243 [     33]   INFO -        #com.intellij.idea.Main - JVM: 11.0.7+10-b931.3 (OpenJDK 64-Bit Server VM) 
2020-06-13 12:06:37,244 [     34]   INFO -        #com.intellij.idea.Main - JVM Args: exit -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Dide.no.platform.update=true -Djb.vmOptionsFile=C:\Users\doublefx\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-1\202.5428.22.vmoptions -Djava.library.path=C:\Users\doublefx\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-1\202.5428.22\jbr\\bin;C:\Users\doublefx\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-1\202.5428.22\jbr\\bin\server -Didea.jre.check=true -Dide.native.launcher=true -Didea.paths.selector=IntelliJIdea2020.2 -XX:ErrorFile=C:\Users\doublefx\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\doublefx\java_error_in_idea.hprof 
2020-06-13 12:06:37,246 [     36]   INFO -        #com.intellij.idea.Main - locale=fr_FR JNU=Cp1252 file.encoding=Cp1252
  idea.config.path=C:\Users\doublefx\AppData\Roaming\JetBrains\IntelliJIdea2020.2
  idea.system.path=C:\Users\doublefx\AppData\Local\JetBrains\IntelliJIdea2020.2
  idea.plugins.path=C:\Users\doublefx\AppData\Roaming\JetBrains\IntelliJIdea2020.2\plugins
  idea.log.path=C:\Users\doublefx\AppData\Local\JetBrains\IntelliJIdea2020.2\log 
2020-06-13 12:06:38,206 [    996]   INFO -        #com.intellij.idea.Main - JNA library (64-bit) loaded in 960 ms 
2020-06-13 12:06:38,209 [    999]   INFO - penapi.util.io.win32.IdeaWin32 - Native filesystem for Windows is operational 
2020-06-13 12:06:38,444 [   1234]   INFO -                #LicenseManager - License required for BashSupport Pro; details: N/A 
2020-06-13 12:06:38,469 [   1259]   INFO -        #com.intellij.idea.Main - CPU cores: 12; ForkJoinPool.commonPool: java.util.concurrent.ForkJoinPool@237b11c0[Running, parallelism = 11, size = 0, active = 0, running = 0, steals = 0, tasks = 0, submissions = 0]; factory: com.intellij.concurrency.IdeaForkJoinWorkerThreadFactory@71305c53 
2020-06-13 12:06:38,995 [   1785]   WARN -        #com.intellij.idea.Main -  
java.lang.reflect.InvocationTargetException
	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1373)
	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1348)
	at com.intellij.idea.StartupUtil.runInEdtAndWait(StartupUtil.java:805)
	at com.intellij.idea.StartupUtil.access$000(StartupUtil.java:78)
	at com.intellij.idea.StartupUtil$1.invokeAndWait(StartupUtil.java:292)
	at com.intellij.util.ui.EdtInvocationManager.invokeAndWaitIfNeeded(EdtInvocationManager.java:68)
	at com.intellij.util.ui.UIUtil.invokeAndWaitIfNeeded(UIUtil.java:2269)
	at com.intellij.ide.b.a.Y.a(Y.java:260)
	at com.intellij.ide.b.l.h.b(h.java:313)
	at com.intellij.ide.b.l.h.a(h.java:131)
	at com.intellij.ide.b.o.a.a(a.java:99)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.intellij.idea.MainImpl.start(MainImpl.java:103)
	at com.intellij.idea.StartupUtil.startApp(StartupUtil.java:297)
	at com.intellij.idea.StartupUtil.prepareApp(StartupUtil.java:237)
	at com.intellij.ide.plugins.MainRunner.lambda$start$0(MainRunner.java:47)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: Argument for @NotNull parameter 'obj' of com/intellij/util/containers/SmartHashSet.remove must not be null
	at com.intellij.util.containers.SmartHashSet.$$$reportNull$$$0(SmartHashSet.java)
	at com.intellij.util.containers.SmartHashSet.remove(SmartHashSet.java)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.intellij.ide.b.a.O.d(O.java:168)
	at com.intellij.ide.b.a.O.<init>(O.java:78)
	at com.intellij.ide.b.a.c.<init>(c.java:251)
	at com.intellij.ide.b.a.a.a(a.java:52)
	at com.intellij.ide.b.a.a.b(a.java:45)
	at com.intellij.ide.b.l.h.c(h.java:318)
	at com.intellij.ide.b.a.Y.a(Y.java:267)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:417)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Actually, I was in the wrong plugin folder, I managed to remove BashSupport Pro and my IDE restarted

And tried the other way around, having first the JetBrains shell plugin and then only install the 1.4.2.202 plugin version, same issue.

@doublefx Yes, this is a pretty bad experience. I hope that it’ll improve soon.

After I posted my reply yesterday a user reported that hang. I was able to reproduce this and reported it to https://youtrack.jetbrains.com/issue/IDEA-243468 . I don’t think that it’s just BashSupport Pro.

So for new users without a license the current IntelliJ EAP is broken and unusable. I think it’s best to wait until JetBrains has fixed the eap. I’ll try to have something more usable until then.

1 Like

The latest EAP (released today) should fix that hang.

I’ve released a new preview versions of BashSupport Pro (1.4.4):
2020.1: https://plugins.jetbrains.com/plugin/13841-bashsupport-pro/update/89345
2020.2: https://plugins.jetbrains.com/plugin/13841-bashsupport-pro/update/89346

You have to use this latest version with the latest 2020.2 EAP for the best experience.
Or just use 2020.1.2.

I hope that this is useful to execute scripts in Windows.
A first, rough set of documentation is available at https://preview.bashsupport.com/pro/run/

Please let me know how this works for you. I hope it’s now working better than before…

Hi @jansorg

Sorry for the delay, your last message went into my junks :frowning:

I just installed and tested it.

Some notes:

  • It reset my Terminal to the default cmd.exe, I set it back to Cmder
  • The Run for my .sh script opened the terminal with the default terminal interpreter settings and therefore does not work, not proposing with which interpreter I want it to run with.

C:\dev\source\my\demo\quarkus-deep-dive\Q03-hello-world\hello-lgim   master ± 
λ C:/dev/source/my/demo/quarkus-deep-dive/Q03-hello-world/hello-lgim/build-run-native-in-wsl.sh

C:\dev\source\my\demo\quarkus-deep-dive\Q03-hello-world\hello-lgim   master ± 
λ

  • I also created a run configuration and set the interpreter to: C:\WINDOWS\system32\bash.exe, still does not work but with different output:

C:\dev\source\my\demo\quarkus-deep-dive\Q03-hello-world\hello-lgim   master ± 
λ C:\WINDOWS\system32\bash.exe C:/dev/source/my/demo/quarkus-deep-dive/Q03-hello-world/hello-lgim/build-run-native-in-wsl.sh
/bin/bash: C:/dev/source/my/demo/quarkus-deep-dive/Q03-hello-world/hello-lgim/build-run-native-in-wsl.sh: No such file or directory

C:\dev\source\my\demo\quarkus-deep-dive\Q03-hello-world\hello-lgim   master ± 
λ

  • Weirdly, when used “debug” and despite the plugin does not proposes me any interpreter selection, it worked, it opened it with bash.exe and I’ve been able to debug :slight_smile:

@doublefx
Thanks for testing! This must be quite frustrating.

Running is supposed to work the same way as debugging.
If no interpreter is defined in the run configuration, then the default defined at File > Settings > Languages&Frameworks > BashSupport Pro is picked up. The applied path mapping is defined there in the settings. If an interpreter is defined, then the path is looked up in that list to find the path mapping to apply.

I may have published an old version somehow, there were more troubles with the eap last week.

I’m currently in the midst of forking the JetBrains Shell plugin and adding a run configuration type, which is providing a better UI for the path mapping, the interpreter setup, etc. This will hopefully solve the confusing complexity of the run configuration setup.

I’ll post an update here when I have a new preview version.

Thanks!
Joachim

Hi @jansorg

I don’t know whether you already thought about it but now you’ve added an interpreter list in the settings, what do you think about adding the same action than “Open in terminal” but powered by this new feature, something like “Open in terminal…” where the user could choose one of the configured interpreters.

I’m pretty sure I’ll be far to be the only one who would love it, actually, I was hoping that BashSupport had this feature before even trying it and that was therefore the main reason for me to try it but last week end I discovered the debugger and that’s really, really great too :slight_smile:

Regards,
Fred.

PS: I’ll be testing your new preview in the weekend, if you can made it available by then.

Hi @doublefx,
I’m glad that at least the debugger is working so fa :slight_smile:
An settings to control which interpreters should be shown in the menus sounds useful to me.

Could you explain why you’d like to use this feature? That would help to make this to work as expected.

For example

  • is the main reason that you usually run scripts with different interpreters?
  • Is it important that it’s executed in the cmder terminal window or could that be a regular run configuration window, too? A regular run configuration window won’t accept further input when the script terminates.
  • or are you just running a lot of scripts and would like to avoid to create many temporary run configurations? currently “Run in terminal” does not create new configurations.

I still have sort out a few more issues with the plugin, so most likely it won’t be available this weekend.

I posted the current status of run configurations at Status of new run configurations.

Thanks,
Joachim

@doublefx
This is what I have now (unreleased):

  • a setting “Show in menus” in the rows of table of interpreters, off by default
  • the default run, debug, create/edit at the top
  • then for each interpreter with “show in menus” enabled, the available actions.

Does that seems like something useful for your use case?

I still have to integrate this with the windows path mapping settings.

The difficulty of “Run in terminal” to know what mapping to apply. cmd and cmder take the native interpreter path, e.g. C:\Windows\System32\cmd.exe. But others, e.g. WSL, need a mapped interpreter path like /cmd/windows/system32/bash.exe.
I’ll think some more about the best way to handle this, but it should be possible somehow.

Screenshot_004

Hi @jansorg

“Could you explain why you’d like to use this feature? That would help to make this to work as expected.”

My OS is Windows and I constantly need to switch between cmd / ps / wsl / cygwin.
I found a compromise using cmder out of the IDE as my main command line tool, I also integrated it into IJ as a cygwin replacement, that’s not ideal but still better than switching interpreter from inside the default terminal or changing the default terminal settings.

Therefore, in order to easily open a new terminal on either cmd / ps / wsl (zsh) / cygwin or others, an action in the Project window (on folders and scripts) equivalent to the existing “open in terminal” but with the ability to choose one of the configured interpreter would make life much easier.

Regards,
Fred.

Hi @jansorg

That looks good :slight_smile:

" The difficulty of “Run in terminal” to know what mapping to apply. cmd and cmder take the native interpreter path, e.g. C:\Windows\System32\cmd.exe . But others, e.g. WSL, need a mapped interpreter path like /cmd/windows/system32/bash.exe .
I’ll think some more about the best way to handle this, but it should be possible somehow."

Can you just add “use mapping” checkbox in the bashPro interpreter settings ?
I know it might not be easy because different interpreters map differently.

Also, the “Highlighting - JetBrains Shell” option gives me:

2020-07-05 08:26:48,909 [ 172622] INFO - xecution.runners.ExecutionUtil - Error running ‘build-run-native-in-wsl.sh’:
Unable to retrieve version of Bash interpreter. Please refer to the logfile for more details.
com.intellij.execution.ExecutionException: Unable to retrieve version of Bash interpreter. Please refer to the logfile for more details.
at pro.bashsupport.n.j.b.a(b.java:173)
at pro.bashsupport.n.f.bz.a(bz.java:98)
at pro.bashsupport.n.f.bz.compute(bz.java:21)
at com.intellij.openapi.progress.impl.CoreProgressManager$1.run(CoreProgressManager.java:245)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:935)
at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:490)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:834)

Actually, the “Open in Terminal…” feature might be too complicated to implement and I’ve been playing a bit more with cmder and the new split terminal feature and I’ll be fine I guess with the existing features, I can use bashPro only to debug scripts.

Hi @doublefx, in the meantime I’ve published an uptime, which ships a new type of run configurations and still supports the old BashSupport and Shell run configs.
The editor still has the “Run in terminal” action on the first line. It should hopefully do the path mapping for the configured terminal. If it doesn’t, the exact command configured as terminal interpreter at Settings>Tools>Terminal>Shell path would help to debug this.

Regards,
Joachim

Hi @jansorg

In settings, I enabled Show in Menu, in the Editor, clicked on Debug with Wsl and got:

2020-07-21 08:08:11,223 [  64644]   INFO - xecution.runners.ExecutionUtil - Error running 'build-run-native-in-wsl.sh':<br>Unable to retrieve the version of the interpreter C:\WINDOWS\system32\wsl.exe. Please refer to the logfile for more details. 
com.intellij.execution.ExecutionException: Unable to retrieve the version of the interpreter C:\WINDOWS\system32\wsl.exe. Please refer to the logfile for more details.
	at pro.bashsupport.zq.a(zq.java:196)
	at pro.bashsupport.sj.a(sj.java:97)
	at pro.bashsupport.sj.compute(sj.java:19)
	at com.intellij.openapi.progress.impl.CoreProgressManager$1.run(CoreProgressManager.java:245)
	at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:935)
	at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:490)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)
2020-07-21 08:10:08,282 [ 181703]   INFO - ution.rmi.RemoteProcessSupport - Terminating: 35581/Maven36ServerImpl671be71a 

Run in Terminal (using Cmder):

2020-07-21 08:10:08,282 [ 181703]   INFO - ution.rmi.RemoteProcessSupport - Terminating: 35581/Maven36ServerImpl671be71a 
2020-07-21 08:10:25,964 [ 199385]   INFO - rationStore.ComponentStoreImpl - Saving appVisualizationTool took 16 ms 
2020-07-21 08:10:26,421 [ 199842]   INFO - rationStore.ComponentStoreImpl - Saving Project(name=todo-backend, containerState=ACTIVE, componentStore=C:\dev\source\my\demo\quarkus-deep-dive)RunManager took 22 ms 
2020-07-21 08:12:09,358 [ 302779]   INFO - iment.WebServiceStatusProvider - Completion stats experiment: version=2, enabled=false 
2020-07-21 08:12:37,695 [ 331116]   INFO - xecution.runners.ExecutionUtil - Error running 'build-run-native-in-wsl.sh':<br>Trailing char < > at index 3: cmd /k C:\tools\Cmder\cmder_shell.bat 
java.nio.file.InvalidPathException: Trailing char < > at index 3: cmd /k C:\tools\Cmder\cmder_shell.bat
	at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:172)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
	at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
	at java.base/java.nio.file.Path.of(Path.java:147)
	at java.base/java.nio.file.Paths.get(Paths.java:69)
	at pro.bashsupport.ad9.a(ad9.java:18)
	at pro.bashsupport.vi.execute(vi.java:21)
	at com.intellij.execution.runners.DefaultRunProgramRunner$execute$1.invoke(DefaultRunProgramRunner.kt:29)
	at com.intellij.execution.runners.DefaultRunProgramRunner$execute$1.invoke(DefaultRunProgramRunner.kt:12)
	at com.intellij.execution.impl.ExecutionManagerImpl$startRunProfile$1.invoke(ExecutionManagerImpl.kt:147)
	at com.intellij.execution.impl.ExecutionManagerImpl$startRunProfile$1.invoke(ExecutionManagerImpl.kt:60)
	at com.intellij.execution.impl.ExecutionManagerImpl$doStartRunProfile$startRunnable$1.run(ExecutionManagerImpl.kt:208)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:322)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:188)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2020-07-21 08:13:18,157 [ 371578]   INFO - rationStore.ComponentStoreImpl - Saving appNotificationConfiguration took 15 ms 
2020-07-21 08:13:18,223 [ 371644]   WARN - com.intellij.util.xmlb.Binding - no accessors for org.jetbrains.kotlin.idea.core.script.configuration.utils.ScriptClassRootsStorage 
2020-07-21 08:13:18,239 [ 371660]   INFO - rationStore.ComponentStoreImpl - Saving Project(name=todo-backend, containerState=ACTIVE, componentStore=C:\dev\source\my\demo\quarkus-deep-dive)IdeDocumentHistory took 15 ms, RunManager took 16 ms 

Also, enabling / disabling “Show in menus” is not effective until restart

Thanks,
Fred.

Hi @doublefx, thanks for your patience.
I’ve published an update which should fix the issues you noticed.

Fixed. wsl.exe is a bit special and should now be handled properly.

Should be fixed. I couldn’t fully reproduce this, most likely because my cmder_shell.bat file is different.

If it still fails, then there’s a new setting to override the path mapping, which is needed for “Run in terminal”. You can find it at “Settings > Languages & Frameworks > BashSupport Pro” below the table of interpreters. “None” is the value if you need Windows native paths, e.g. C:\Windows\System32\wsl.exe.
Please let me know if this is still isn’t working properly.

Fixed, thanks!

Regards,
Joachim