alex1701c / JetBrainsRunner

A Krunner Plugin which allows you to open your recent projects
GNU Lesser General Public License v3.0
55 stars 5 forks source link

No project found - Intellij 2020.01 #10

Closed tomsquest closed 4 years ago

tomsquest commented 4 years ago

Hi @alex1701c ,

I am opening a new issue as I cannot reopen #9.

Using Idea 2020.01, new install in a custom folder, eg. $HOME/Apps/idea/current, JetBrainsRunner does not find any projects.

Here is what I have in /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/recentProjects.xml :

<application>
  <component name="RecentProjectsManager">
    <option name="additionalInfo">
      <map>
        <entry key="$USER_HOME$/.dotfiles">
          <value>
            <RecentProjectMetaInfo projectWorkspaceId="1b4a9wrC91d0FaxYRSOBAx0FZ1C">
              <option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
              <option name="build" value="IU-201.6668.121" />
              <option name="buildTimestamp" value="1586355444149" />
              <option name="productionCode" value="IU" />
              <option name="projectOpenTimestamp" value="1587969318834" />
            </RecentProjectMetaInfo>
          </value>
        </entry>
        <entry key="$USER_HOME$/Dev/adeo/opus-search">
          <value>
            <RecentProjectMetaInfo opened="true" projectWorkspaceId="1OSe59a47F5s7Ju2yf95mDpCg66">
              <option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
              <option name="build" value="IU-201.6668.121" />
              <option name="buildTimestamp" value="1586355470408" />
              <frame x="3082" y="0" width="1400" height="1000" extendedState="6" />
              <option name="productionCode" value="IU" />
              <option name="projectOpenTimestamp" value="1588054681286" />
            </RecentProjectMetaInfo>
          </value>
        </entry>
        <entry key="$USER_HOME$/Dev/adeo/opus-search-ui">
          <value>
            <RecentProjectMetaInfo opened="true" projectWorkspaceId="1UYRc6S9G5nxELZEjPxmudeDnAo">
              <option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
              <option name="build" value="IU-201.6668.121" />
              <option name="buildTimestamp" value="1586355470408" />
              <option name="productionCode" value="IU" />
              <option name="projectOpenTimestamp" value="1588054681286" />
            </RecentProjectMetaInfo>
          </value>
        </entry>
      </map>
    </option>
    <option name="recentPaths">
      <list>
        <option value="$USER_HOME$/Dev/adeo/opus-search-ui" />
        <option value="$USER_HOME$/Dev/adeo/opus-search" />
        <option value="$USER_HOME$/.dotfiles" />
      </list>
    </option>
  </component>
</application>

Here are the logs generated from the extension:

========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
========== Filter Jetbrains Apps ==========
Found not projects for: IntelliJ IDEA

I am using version 1.5.0 from Github release panel: krunner-jetbrainsrunner-1.5.0-Linux.deb on Kubuntu 20.04.

Thanks a lot,

Thomas

alex1701c commented 4 years ago

Hi, unfortunately I can not reproduce the issue. I have copied your config file to mine and commented the check if the dir exists out (in source code) and the projects show up properly. Can you try to restart KRunner and check if you still have the issue. Otherwise can you build from source check if sth. is different.

tomsquest commented 4 years ago

Hi @alex1701c ,

Nothing more after complete restart.

Is there a way to enable more logging ? (directory checked...).

tomsquest commented 4 years ago

Built from source, still not working.

git clone https://github.com/alex1701c/JetBrainsRunner --recurse-submodules  
cd JetBrainsRunner/
mkdir build  
cd build
cmake -DKDE_INSTALL_QTPLUGINDIR=`kf5-config --qt-plugins` ..
make
sudo make install
kquitapp5 krunner;kstart5 krunner )
alex1701c commented 4 years ago

Is there a way to enable more logging ? (directory checked...).

Currently not, almost all issues had to do with the file locations/file mapping, thats why the debug info is mostly about this. I will add some more debug options 😄.

But can you please check if you can fix the issue if you map the desktop file to the config file manually? You can do this in the config dialog. An example screenshot is here: https://raw.githubusercontent.com/alex1701c/Screenshots/master/JetBrainsRunner/config_dialog.png

Edit: Can you please go to the src/jetbrains-api submodule, checkout master and pull the latest changes. Then cmake .. -DNO_JBR_FILE_LOG=false -DJBR_DEBUG_INFO=true and recompile and install. Then there is more debug output

tomsquest commented 4 years ago

Hi Alexander,

Mapping the desktop and XML files solved the issue :

image

I will recompile with debug info from latest master a bit later (important work task to do right now).

tomsquest commented 4 years ago

Tried to the custom compilation, but I don't think it works.

src/jetbrains-api is uptodate:

13:47:18 /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api master * b3c04e0 - (HEAD -> master, origin/master, origin/HEAD) Add macro for additional debug information (21 hours ago) <alex1701c>
* 5c7b436 - Handle debugging with conditional macro (22 hours ago) <alex1701c>

Then:

[  6%] Automatic MOC for target jetbrains_api_static
[  6%] Built target jetbrains_api_static_autogen
Scanning dependencies of target jetbrains_api_static
[ 12%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/JetbrainsApplication.cpp.o
In file included from /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/JetbrainsApplication.cpp:6:
/home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/macros.h:6:5: warning: "NO_JBR_FILE_LOG" is not defined, evaluates to 0 [-Wundef]
    6 | #if NO_JBR_FILE_LOG
      |     ^~~~~~~~~~~~~~~
/home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/macros.h:10:5: warning: "JBR_DEBUG_INFO" is not defined, evaluates to 0 [-Wundef]
   10 | #if JBR_DEBUG_INFO
      |     ^~~~~~~~~~~~~~
[ 18%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/SettingsDirectory.cpp.o
In file included from /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/SettingsDirectory.cpp:5:
/home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/macros.h:6:5: warning: "NO_JBR_FILE_LOG" is not defined, evaluates to 0 [-Wundef]
    6 | #if NO_JBR_FILE_LOG
      |     ^~~~~~~~~~~~~~~
/home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api/macros.h:10:5: warning: "JBR_DEBUG_INFO" is not defined, evaluates to 0 [-Wundef]
   10 | #if JBR_DEBUG_INFO
      |     ^~~~~~~~~~~~~~
[ 25%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/export.cpp.o
[ 31%] Linking CXX static library libjetbrains_api_static.a
[ 37%] Built target jetbrains_api_static
[ 43%] Automatic MOC for target kcm_krunner_jetbrainsrunner
[ 43%] Built target kcm_krunner_jetbrainsrunner_autogen
[ 50%] Linking CXX shared module kcm_krunner_jetbrainsrunner.so
[ 75%] Built target kcm_krunner_jetbrainsrunner
[ 81%] Automatic MOC for target krunner_jetbrainsrunner
[ 81%] Built target krunner_jetbrainsrunner_autogen
[ 87%] Linking CXX shared module krunner_jetbrainsrunner.so
[100%] Built target krunner_jetbrainsrunner

The logs are empty (same as before, given the custom mapping has been removed.

========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
========== Filter Jetbrains Apps ==========
Found not projects for: IntelliJ IDEA

Maybe the cmake should be run from elsewhere than the root build/ ?

alex1701c commented 4 years ago

My bad, I forgot to mention something.

The make command produces a warning, I am going to fix that later. The new debug output is generated when you quit KRunner kquitapp5 krunner and then run krunner. This starts KRunner in the foreground and you get the debug messages after you type letter in KRunner.

Edit: Could please run a ls command in /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/, this might be useful.

Thanks 😄

tomsquest commented 4 years ago

1) No special output when playing with the new version (I remove the mapping), type a bit in Krunner and so on (I don't know if there is a trigger ?)

Current output:

$ krunner          
Couldn't load plugin: "The shared library was not found."
QLayout: Attempting to add QLayout "" to SearchConfigModule "", which already has a layout
Couldn't load plugin: "The shared library was not found."
QCommandLineParser: argument list cannot be empty, it should contain at least the executable name
Couldn't load plugin: "The shared library was not found."
QLayout: Attempting to add QLayout "" to SearchConfigModule "", which already has a layout
Couldn't load plugin: "The shared library was not found."
QCommandLineParser: argument list cannot be empty, it should contain at least the executable name

2) result of ls

$ ls -l /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/
total 148
-rw-rw-r-- 1 tom tom  4857 2020-04-29 12:36 abbreviations.xml
-rw-rw-r-- 1 tom tom 17961 2020-04-29 14:43 actionSummary.xml
-rw-rw-r-- 1 tom tom   198 2020-04-26 15:21 applicationLibraries.xml
-rw-rw-r-- 1 tom tom   138 2020-04-25 10:36 colors.scheme.xml
-rw-rw-r-- 1 tom tom  4162 2020-04-26 09:52 databaseDrivers.xml
-rw-rw-r-- 1 tom tom  5588 2020-04-29 14:31 debugger.xml
-rw-rw-r-- 1 tom tom   242 2020-04-27 10:22 find.xml
-rw-rw-r-- 1 tom tom   316 2020-04-29 09:03 github.xml
-rw-rw-r-- 1 tom tom   227 2020-04-27 15:09 go.sdk.xml
-rw-rw-r-- 1 tom tom  2208 2020-04-26 15:14 javaRuleManager.xml
-rw-rw-r-- 1 tom tom  1752 2020-04-27 08:34 jdk.table.xml
-rw-rw-r-- 1 tom tom   166 2020-04-25 10:36 laf.xml
-rw-rw-r-- 1 tom tom   124 2020-04-26 11:34 mavenVersion.xml
-rw-rw-r-- 1 tom tom  3650 2020-04-29 12:36 other.xml
-rw-rw-r-- 1 tom tom   143 2020-04-26 15:26 packages.xml
-rw-rw-r-- 1 tom tom   261 2020-04-26 11:39 path.macros.xml
-rw-rw-r-- 1 tom tom  1311 2020-04-25 10:40 profilerRunConfigurations.xml
-rw-rw-r-- 1 tom tom  2211 2020-04-29 14:43 recentProjects.xml
-rw-rw-r-- 1 tom tom  1397 2020-04-29 11:48 runner.layout.xml
-rw-rw-r-- 1 tom tom   258 2020-04-26 10:31 scratches.xml
-rw-rw-r-- 1 tom tom   124 2020-04-29 09:21 security.xml
-rw-rw-r-- 1 tom tom  9054 2020-04-25 10:38 textmate_os.xml
-rw-rw-r-- 1 tom tom   572 2020-04-29 12:36 updates.xml
-rw-rw-r-- 1 tom tom  9373 2020-04-29 14:43 usage.statistics.xml
-rw-rw-r-- 1 tom tom   275 2020-04-27 10:45 vcs.xml
-rw-rw-r-- 1 tom tom  2417 2020-04-29 12:33 window.state.xml
alex1701c commented 4 years ago

Can you maybe provide the log file again, I have added a parameter(in the previous) which can be useful.

Edit: The output was most likely disabled because of the logging category, I promoted the category to warning. If you now pull the latest changes in the jetbrains-api they should show up.

Thanks for your endurance.

tomsquest commented 4 years ago

Hi @alex1701c ,

I do not get any output from krunner :(

Here what I did:

# from /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api
$ git log
* 2fb304b - (HEAD -> master, origin/master, origin/HEAD) Use qWarning() (22 hours ago) <alex1701c>

$ cd ../../build
$ cmake .. -DNO_JBR_FILE_LOG=false -DJBR_DEBUG_INFO=true
$ make clean && make
$ sudo make install
$ kquitapp5 krunner;kstart5 krunner
# when invoke krunner, tried to go to the settings of JetBrainsRunner, no meaningful output
alex1701c commented 4 years ago

Try: kquitapp5 krunner;krunner and then type some letters, no kstart5. You have executed the correct commands when out tried this the previous time ;-)

Edit: And what about the file export, is there anything different than last time?

tomsquest commented 4 years ago

Damn, still no luck with kquitapp5 krunner;krunner

History:

$ sudo make install 
[sudo] password for tom: 
[  6%] Automatic MOC for target jetbrains_api_static
[  6%] Built target jetbrains_api_static_autogen
[ 37%] Built target jetbrains_api_static
[ 43%] Automatic MOC for target kcm_krunner_jetbrainsrunner
[ 43%] Built target kcm_krunner_jetbrainsrunner_autogen
[ 75%] Built target kcm_krunner_jetbrainsrunner
[ 81%] Automatic MOC for target krunner_jetbrainsrunner
[ 81%] Built target krunner_jetbrainsrunner_autogen
[100%] Built target krunner_jetbrainsrunner
Install the project...
-- Install configuration: "Debug"
-- Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_jetbrainsrunner.so
-- Set runtime path of "/usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_jetbrainsrunner.so" to "/usr/local/lib/x86_64-linux-gnu"
-- Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_krunner_jetbrainsrunner.so
-- Set runtime path of "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_krunner_jetbrainsrunner.so" to "/usr/local/lib/x86_64-linux-gnu"
-- Up-to-date: /usr/local/share/kservices5/plasma-runner-jetbrainsrunner.desktop
-- Up-to-date: /usr/local/share/kservices5/plasma-runner-jetbrainsrunner_config.desktop
-- Up-to-date: /usr/share/pixmaps/jetbrainsrunner.png
16:13:50 /home/tom/Dev/tmp/JetBrainsRunner/build master U 
$ kquitapp5 krunner;krunner

There is absolutely no logs (tried entering stuff in krunner, went to the configuration...). (I even re run make install to be sure).

alex1701c commented 4 years ago

:-(

But what about the file export?

tomsquest commented 4 years ago

Nothing relevant in the log file :

$ kquitapp5 krunner;krunner
Couldn't load plugin: "The shared library was not found."
QLayout: Attempting to add QLayout "" to SearchConfigModule "", which already has a layout
Couldn't load plugin: "The shared library was not found."
^C

Then invoked krunner, then config, JetbrainsRunner then config then export log. Log file content:

$ cat ~/Downloads/krunner\ jetbrains             
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
========== Filter Jetbrains Apps ==========
Found not projects for: IntelliJ IDEA

So, from the logfile, the config dir is found, but reading recentProjects.xml somehow failed ?

alex1701c commented 4 years ago

OK, I have changes the jetbrains-api submodule so that everything gets put in the file export. But it is weird that the reading of the file failed, because I copied the exact same file content in my setup and it works as it should.

Sorry that the debugging process is longsome^^

tomsquest commented 4 years ago

Gave it a shot and the log file is still emtpy.

Full run :

15:49:12 /home/tom/Dev/tmp/JetBrainsRunner master U 
$ cd src/jetbrains-api

15:49:15 /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api master 
$ git pull              
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 6 (delta 5), reused 6 (delta 5), pack-reused 0
Unpacking objects: 100% (6/6), 909 bytes | 181.00 KiB/s, done.
From https://github.com/alex1701c/jetbrains-api
   2fb304b..abd0753  master     -> origin/master
Updating 2fb304b..abd0753
Fast-forward
 JetbrainsApplication.cpp | 14 ++++++++------
 SettingsDirectory.cpp    | 25 +++++++++++++------------
 SettingsDirectory.h      |  8 +++++---
 macros.h                 | 12 +-----------
 4 files changed, 27 insertions(+), 32 deletions(-)
15:49:21 /home/tom/Dev/tmp/JetBrainsRunner/src/jetbrains-api master 

$ ...
15:49:26 /home/tom/Dev/tmp/JetBrainsRunner master U 

$ cd build            
15:49:39 /home/tom/Dev/tmp/JetBrainsRunner/build master U 

$ cmake .. -DNO_JBR_FILE_LOG=false -DJBR_DEBUG_INFO=true
Installing in /usr/local. Run /home/tom/Dev/tmp/JetBrainsRunner/build/prefix.sh to set the environment for jetbrainsrunner.
Installing in /usr/local. Run /home/tom/Dev/tmp/JetBrainsRunner/build/prefix.sh to set the environment for jetbrainsrunner.
Installing in /usr/local. Run /home/tom/Dev/tmp/JetBrainsRunner/build/prefix.sh to set the environment for jetbrainsrunner.
Installing in /usr/local. Run /home/tom/Dev/tmp/JetBrainsRunner/build/prefix.sh to set the environment for jetbrainsrunner.
-- Found KF5: success (found version "5.68.0") found components: I18n Service Runner TextWidgets ConfigWidgets PlasmaQuick 
Installing in /usr/local. Run /home/tom/Dev/tmp/JetBrainsRunner/build/prefix.sh to set the environment for jetbrainsrunner.
-- Found KF5: success (found version "5.68.0") found components: Config 
-- The following OPTIONAL packages have been found:

 * KF5Sonnet (required version >= 5.68.0)
 * KF5Auth (required version >= 5.68.0)
 * KF5Codecs (required version >= 5.68.0)
 * KF5WidgetsAddons (required version >= 5.68.0)
 * KF5Package (required version >= 5.68.0)
 * KF5CoreAddons (required version >= 5.68.0)
 * KF5WindowSystem (required version >= 5.68.0)
 * KF5Plasma (required version >= 5.68.0)

-- The following REQUIRED packages have been found:

 * Qt5Qml (required version >= 5.12.8)
 * Qt5Quick
 * Qt5QuickWidgets
 * Qt5Network
 * Qt5
 * KF5Runner
 * Gettext
 * KF5I18n (required version >= 5.68.0)
 * KF5TextWidgets
 * KF5ConfigWidgets
 * Qt5Gui (required version >= 5.12.0)
 * KF5Service (required version >= 5.68.0)
 * Qt5Widgets (required version >= 5.12.0)
 * ECM (required version >= 1.6.0)
 * KF5PlasmaQuick
 * Qt5Core
 * Qt5Xml (required version >= 5.12.0)
 * KF5Config
 * KF5

-- Configuring done
-- Generating done
-- Build files have been written to: /home/tom/Dev/tmp/JetBrainsRunner/build

15:49:45 /home/tom/Dev/tmp/JetBrainsRunner/build master U 
$ make                         
[  6%] Automatic MOC for target jetbrains_api_static
[  6%] Built target jetbrains_api_static_autogen
Scanning dependencies of target jetbrains_api_static
[ 12%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/JetbrainsApplication.cpp.o
[ 18%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/SettingsDirectory.cpp.o
[ 25%] Building CXX object src/jetbrains-api/CMakeFiles/jetbrains_api_static.dir/export.cpp.o
[ 31%] Linking CXX static library libjetbrains_api_static.a
[ 37%] Built target jetbrains_api_static
[ 43%] Automatic MOC for target kcm_krunner_jetbrainsrunner
[ 43%] Built target kcm_krunner_jetbrainsrunner_autogen
Scanning dependencies of target kcm_krunner_jetbrainsrunner
[ 50%] Building CXX object src/CMakeFiles/kcm_krunner_jetbrainsrunner.dir/config/jetbrainsrunner_config.cpp.o
[ 56%] Linking CXX shared module kcm_krunner_jetbrainsrunner.so
[ 75%] Built target kcm_krunner_jetbrainsrunner
[ 81%] Automatic MOC for target krunner_jetbrainsrunner
[ 81%] Built target krunner_jetbrainsrunner_autogen
Scanning dependencies of target krunner_jetbrainsrunner
[ 87%] Building CXX object src/CMakeFiles/krunner_jetbrainsrunner.dir/jetbrainsrunner.cpp.o
[ 93%] Linking CXX shared module krunner_jetbrainsrunner.so
[100%] Built target krunner_jetbrainsrunner

15:50:40 /home/tom/Dev/tmp/JetBrainsRunner/build master U 
$ sudo make install         
[sudo] password for tom: 
[  6%] Automatic MOC for target jetbrains_api_static
[  6%] Built target jetbrains_api_static_autogen
[ 37%] Built target jetbrains_api_static
[ 43%] Automatic MOC for target kcm_krunner_jetbrainsrunner
[ 43%] Built target kcm_krunner_jetbrainsrunner_autogen
[ 75%] Built target kcm_krunner_jetbrainsrunner
[ 81%] Automatic MOC for target krunner_jetbrainsrunner
[ 81%] Built target krunner_jetbrainsrunner_autogen
[100%] Built target krunner_jetbrainsrunner
Install the project...
-- Install configuration: "Debug"
-- Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_jetbrainsrunner.so
-- Set runtime path of "/usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_jetbrainsrunner.so" to "/usr/local/lib/x86_64-linux-gnu"
-- Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_krunner_jetbrainsrunner.so
-- Set runtime path of "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_krunner_jetbrainsrunner.so" to "/usr/local/lib/x86_64-linux-gnu"
-- Up-to-date: /usr/local/share/kservices5/plasma-runner-jetbrainsrunner.desktop
-- Up-to-date: /usr/local/share/kservices5/plasma-runner-jetbrainsrunner_config.desktop
-- Up-to-date: /usr/share/pixmaps/jetbrainsrunner.png
15:50:47 /home/tom/Dev/tmp/JetBrainsRunner/build master U 

$ kquitapp5 krunner;krunner
Couldn't load plugin: "The shared library was not found."
QLayout: Attempting to add QLayout "" to SearchConfigModule "", which already has a layout
Couldn't load plugin: "The shared library was not found."
Couldn't load plugin: "The shared library was not found."

# Then
# invoked Krunner (meta + space)
# went to config > JetbrainsRunner
# removed my custom mapping
# Clicked on Generate Log file

Log file (same as before) :(

$ cat ~/Downloads/krunner\ jetbrains
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
========== Filter Jetbrains Apps ==========
Found not projects for: IntelliJ IDEA

Does the submodule need to be recompile or something?

Hum, whenever I click on the Configure Icon in the Krunner config, I get this line in the console (from where I run Krunner) :

Couldn't load plugin: "The shared library was not found."

Could it be possible that this is the problem ?

Thanks for your support @alex1701c

alex1701c commented 4 years ago

Couldn't load plugin: "The shared library was not found."

Nope that has to do with the location of the config plugins. We can ignore this.

I have just pushed the debug stuff on master, the best way to test it would be if you delete the old project dir and just run the installer again: curl https://raw.githubusercontent.com/alex1701c/JetBrainsRunner/master/install.sh | bash

tomsquest commented 4 years ago

At last, some more log :

$ cat ~/Downloads/krunner\ jetbrains
========== Locally Installed Jetbrains Applications ==========
/home/tom/.local/share/applications/jetbrains-idea.desktop
========== Globally Installed Jetbrains Applications ==========
========== AUR/Snap/Other Installed Jetbrains Applications ==========
========== Manually Configured Jetbrains Applications ==========
Application path map: 
IntelliJ IDEA ==> /home/tom/.local/share/applications/jetbrains-idea.desktop
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
IntelliJ IDEA is not contained in alias
========== Filter Jetbrains Apps ==========
Found not projects for: IntelliJ IDEA

I hope this will pinpoint something wrong in my setup.

FYI, here is the content of my custom desktop file:

[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/home/tom/Apps/idea/current/bin/idea.png
Exec="/home/tom/Apps/idea/current/bin/idea.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
tomsquest commented 4 years ago

Oh I think I get it :

Changing the line Name=IntelliJ IDEA in my desktop file to Name=IntelliJIdea resulted in that log file:

========== Locally Installed Jetbrains Applications ==========
/home/tom/.local/share/applications/jetbrains-idea.desktop
========== Globally Installed Jetbrains Applications ==========
========== AUR/Snap/Other Installed Jetbrains Applications ==========
========== Manually Configured Jetbrains Applications ==========
Application path map: 
IntelliJIdea ==> /home/tom/.local/share/applications/jetbrains-idea.desktop
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/
Config file found for IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/recentProjects.xml
===== Recently used project folder for IntelliJIdea=====
    /home/tom/Dev/adeo/opus-search
    /home/tom/Dev/docker-radicale

========== Filter Jetbrains Apps ==========

I don't know a way to fix it for every possible case of desktop file (because the Name= could be "My editor" or "Jetbrains idea" or whatever.

alex1701c commented 4 years ago

Do you have the plugin reinstalled? I have made changes to both to the submodule and to the KRunner implementation (this repo). And I wanted to be sure that you get all the latest changes, just to be sure ;-).

With your config file I get output like:

Config file found for IntelliJ IDEA Ultimate /home/user/.config/JetBrains/IntelliJIdea2020.1/options/recentProjects.xml
IntelliJ IDEA Ultimate the project path does not exist /home/user/Dev/adeo/opus-search-ui
IntelliJ IDEA Ultimate the project path does not exist /home/user/Dev/adeo/opus-search
IntelliJ IDEA Ultimate the project path does not exist /home/user/.dotfiles
===== Recently used project folder for IntelliJ IDEA Ultimate=====
    NO PROJECTS

PS: The alias stuff is used to handle cases where the project name is different from the folder name, for instance PyCharm Professional has the config folder .PyCharm2019.3. But because the folder for intellij is called IntelliJIdea2020.1 the aliases are not needed.

tomsquest commented 4 years ago

Hi,

I reinstalled the plugin (using the install.sh) and all is fine now, even with a different name in the desktop file.

So far, all is good now !

Thanks a lot for your time and patience.

tomsquest commented 4 years ago

Hi @alex1701c ,

I am back with the same issue. I think I wrongly assume that changing the Name in the desktop file was no more giving no results.

So let me re-expose what is not working.

Summary: no project could be found given Name= in the desktop file that is not IntelliJIdea

To reproduce:

$ cat ~/.local/share/applications/jetbrains-idea.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJIdea
Icon=/home/tom/Apps/idea/current/bin/idea.png
Exec="/home/tom/Apps/idea/current/bin/idea.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea

The important part is: Name=IntelliJIdea

With this desktop file, when the generated log file (from the settings) is correct, the projects are found:

========== Locally Installed Jetbrains Applications ==========
/home/tom/.local/share/applications/jetbrains-idea.desktop
========== Globally Installed Jetbrains Applications ==========
========== AUR/Snap/Other Installed Jetbrains Applications ==========
========== Manually Configured Jetbrains Applications ==========
Application path map: 
IntelliJIdea ==> /home/tom/.local/share/applications/jetbrains-idea.desktop
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/
Config file found for IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1/options/recentProjects.xml
===== Recently used project folder for IntelliJIdea=====
    /home/tom/.dotfiles
========== Filter Jetbrains Apps ==========
$ cat ~/.local/share/applications/jetbrains-idea.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Foobar
Icon=/home/tom/Apps/idea/current/bin/idea.png
Exec="/home/tom/Apps/idea/current/bin/idea.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea

Here is the log file that show no projects could be found:

$ cat ~/Downloads/jetbrainsrunner 
========== Locally Installed Jetbrains Applications ==========
/home/tom/.local/share/applications/jetbrains-idea.desktop
========== Globally Installed Jetbrains Applications ==========
========== AUR/Snap/Other Installed Jetbrains Applications ==========
========== Manually Configured Jetbrains Applications ==========
Application path map: 
Foobar ==> /home/tom/.local/share/applications/jetbrains-idea.desktop
========== Find Available Config Folders ==========
IntelliJIdea /home/tom/.config/JetBrains/IntelliJIdea2020.1
Foobar is not contained in alias
========== Filter Jetbrains Apps ==========
Found not projects for: Foobar

So it is required to get the Name= to some value, IntelliJIdea in my case ?

alex1701c commented 4 years ago

Yes, the name is important.

When writing the plugin I had to decide how to find and map the installed applications to their config folders. And because the application name is changed rarely I used it.

tomsquest commented 4 years ago

Hi Alex,

I come from the Albert Launcher. This launcher has a plugin mechanism that are simply python files that returns items to populate the launcher's results. There is a plugin for Jetbrains plugins and it takes another approach: for mapping the product it just used a plain which with a list of binaries.

For example (taken from the plugin source) :

paths = [  # <Name for config directory>, <possible names for the binary/icon>
    ["AndroidStudio", "android-studio"],
    ["CLion", "clion"],
    ["DataGrip", "datagrip"],
    ["GoLand", "goland"],
    ["IntelliJIdea",
     "intellij-idea-ue-bundled-jre intellij-idea-ultimate-edition idea-ce-eap idea-ue-eap idea idea-ultimate"],
    ["PhpStorm", "phpstorm"],
    ["PyCharm", "pycharm pycharm-eap charm"],
    ["RubyMine", "rubymine jetbrains-rubymine jetbrains-rubymine-eap"],
    ["WebStorm", "webstorm"],
]

So far, when I was using it, it was flawless.

alex1701c commented 4 years ago

This takes another approach:

And when writing this plugin I wanted it to work with hopefully all applications and minimal specifications on how the IDES are installed on your system. Sorry that this didn't work out in your case.

But if it works for you that is awesome.

PS: The albert launcher is a very cool project, especially with the python support. Hopefully that will come to KRunner too!

tomsquest commented 4 years ago

Oh yes, the binaries are "hardcoded" because they are provided by Jetbrains. For Rider, there are at least 2 PR that are waiting to be merged (but the author is no more contributing, the project was really intense)..

No problem for the "issue" in JetBrainsRunner. I, somehow, have a specific setup with a custom desktop file. After we found it, the issue is solved.

We can close this ticket if you wish. No problem.

alex1701c commented 4 years ago

Okay, thanks😃.

alex1701c commented 4 years ago

Also it would be awesome if KRunner plugins would be supported by the albert launcher. Currently we have a lot of cool plugins for both launchers but this means also duplicate logic/effort.

Maybe I will try to get sth. like this integrated in the future.