"Go to definition" in Komodo IDE 12

Hi,

I used only Komodo Edit previously and now trying Komodo IDE 12 I do not see “Go to definition” in the context menu (Ctrl+Click does not work as well). Should not it be there? Or do I miss something?

Hi @Tanker, It should be there yes. What OS are you running and please confirm the exact Komodo version in Help menu (Komodo on OSX) > About Komodo.

  • Carey

OS:
Microsoft Windows 10 (10.0) Home Single Language 64-bit (Build 19041)

Komodo version:
Komodo IDE, version 12.0.1, build 91869, platform win32-x86.
Built on Mon Feb 10 18:14:23 2020.

Thanks @Tanker,

So you have the Symbol Browser? View menu > Tabs & Sidebars > Symbol Browser.

Also show you’re logs: Help menu > Troubleshooting > View log file.

I see no “Symbol Browser” in the menu

image

The forum disallows me to put the log into the post test (saying something like - not more than 2 links for new users), so I uploaded it as a shared file to google drive

Interesting, thanks @tanker. Looks like Code Intel is partially starting but it never finishes. I’m not even sure how that would be possible but evidently it is.

One quick note: Ctrl + Click was removed so that won’t work ever.

A few things to try:

  • Restart in safe mode: Help menu > Troubleshooting > Restart in Safe-Mode. Confirm that any customizations you’ve made to Komodo are gone to confirm you’re in safe mode.
  • Disable the code intel extension, restart, re-enable, restart. You can disable/enable the extension through Tools menu > Addons (Legacy): Extensions
  • Re-install Komodo and reset profile:
  1. Uninstall and re-install Komodo
  2. Move both Komodo IDE and Komodo Edit profile folders aside by renaming them C:\Users\<username>\AppData\Local\ActiveState\Komodo[IDE|Edit]
  3. Start Komodo

Let me know how those go.

Thank you!

  • Restart in safe mode: Help menu > Troubleshooting > Restart in Safe-Mode. Confirm that any customizations you’ve made to Komodo are gone to confirm you’re in safe mode.

The restart does not work for me. It just closes the app (so it does not start again automatically).
And in this case (as well as it is always on closing the app) komodo.exe stays in the process list for about 1 minute (after closing the visible app window) and pyhton.exe initiated by original launching Komodo IDE seems to be just staying in the process list endlessly.

  • Disable the code intel extension, restart, re-enable, restart. You can disable/enable the extension through Tools menu > Addons (Legacy): Extensions

Does not help

  • Re-install Komodo and reset profile:
  1. Uninstall and re-install Komodo
  2. Move both Komodo IDE and Komodo Edit profile folders aside by renaming them C:\Users\<username>\AppData\Local\ActiveState\Komodo[IDE|Edit]
  3. Start Komodo

Does not help.
Not sure if it makes any difference, but in my case there are always two atomatically created Komodo IDE directories: “KomodoIDE” (without space) and “Komodo IDE” (with space) .

Thanks for checking @Tanker,
Confirm that Symbol Browser is enabled in your prefs. Edit Menu > Preferences > Code Intelligence: Symbol Browser enabled

Enabled

Morning @Tanker,

I’m almost out of ideas. At the very least, reseting your profile by moving the KomodoIDE (you can ignore the Komodo IDE folder) folder aside should have resolved any lingering issues. If that plus re-installing Komodo didn’t fix the issue then something in your system is preventing Komodo from spawning it’s code intel process. That’s usually a virus scanner to blame but I can’t be sure.

Let’s double check the above:

  1. Stop Komodo
  2. Open a cmd window
  3. Set a custom profile dir: set KOMODO_USERDATADIR=C:\some\path\you\control\
  4. Start Komodo from the terminal: [path to install dir]/ko.exe
  5. Check if the Symbol Browser loads.
  6. If it hasn’t try running the following in the JS Console (*View menu > Tabs & Sidebars > Console) require("codeintel/codeintel").start();require("codeintel/feature/symbolbrowser").start();
  7. Send your logs after doing all of the above. DO NOT restart Komodo before sending your logs.
  • Carey

Hi @careyh,

Thank you!

These steps helped

  1. Stop Komodo
  2. Open a cmd window
  3. Set a custom profile dir: set KOMODO_USERDATADIR=C:\some\path\you\control\
  4. Start Komodo from the terminal: [path to install dir]/ko.exe

when I tried with a directory name containing only english letters
(and the issue was the same when I tried a directory name containing russian/cyrillic letters).

Should I send logs anyway (from a successful or unsuccessful attempt)?

Hey @Tanker, oh interesting. So with Russian characters in the path code intel will not start?

Could you share and example path that fails?

I have just re-checked. Yes, it fails when directory name uses Russian characters.
Not sure if a coincidence is possible.
In before-unicode-times software issues with Russian characters in paths (directory names) were quite common, but I did not expect to meet them nowadays.

For the test I used the directory
C:\тест1\

And my windows user directory also contains Russian characters
C:\Users\Михаил\

@Tanker,

Confirmed. It looks like, at least in one place, this is the rather old Mozilla Gecko version Komodo uses for it’s JS code. I’m not sure exactly what pieces might be failing in the JS libraries. I suggest a workaround here https://github.com/Komodo/KomodoEdit/issues/3928

I’m not sure when time will be put aside to resolve this.

@careyh

Are there any drawbacks in the workaround based on setting a custom path using the environment variable KOMODO_USERDATADIR ?

Hey @Tanker, other than the possibility of forgetting it’s set and that leading to confusion later, no there shouldn’t be any impact on your dev experience.

@careyh it really helped, thank you!

I have the same problem: “Go to definition” doesn’t work.

The symbolbrowser works correctly
USERDATADIR does not contain non-ASCII characters
content\sdk\process.js system.pathFor does not contain non-ASCII characters:
var logPath = koFile.join(system.pathFor(“ProfD”), “…”, “codeintel3.log”);
var dbPath = koFile.join(system.pathFor(“ProfD”), “…”, “codeintel3.db”);

What else I need to check??