bchatard/alfred-jetbrains

Add Rider support

bchatard opened this issue · 4 comments

If someone can send me the following files:

  • ~/Library/Preferences/Rider2018.3/options/recentSolutions.xml
  • ~/Library/Preferences/Rider2019.1/options/recentSolutions.xml (when released)
  • PROJECT_PATH/.idea or maybe *.sln

Please remove any sensitive data before

Thanks,

Hey, I've attached the options folder with recentSolutions.xml (and some other maybe useful files) and the only solution I've created in Rider. If you need something else just ask for it.
options.zip
Example Solution.zip

Any update on this? I can also provide files if needed.

sorry I did not use this product, but it already be package in this workflow.

Does it work for you?

Sorry I assumed that it's not done because issue is opened.

Unfortunately when I'm trying to get solutions with Rider 2020.3.3 I got empty results.

I think I tracked down a problem with recentSolutions.xml file in Rider options directory.
It starts with:

<application>
  <component name="RiderRecentProjectsManager">
    <option name="additionalInfo">

but in paths.js file there is fragment:

recentSolutions: () => {
// //component[@name='RiderRecentProjectsManager']/option[@name='recentPaths']/list/option/@value
const content = getContent(`${productPath}/options/recentSolutions.xml`);
if (content) {
const application = content.application;
const options =
application.component &&
application.component["@_name"] === "RecentDirectoryProjectsManager"
? application.component.option
: [];
const recentPathOptions = options.find((option) => {
return option["@_name"] === "recentPaths";
});
return recentPathOptions ? recentPathOptions.list.option : [];
}
return false;
},
};

Component and option names are clearly different. I think there was a change in recentSolutions.xml file format in Rider comparing to one linked above in this issue.

Here’s full (obfuscated) recentSolutions.xml file:

<application>
  <component name="RiderRecentProjectsManager">
    <option name="additionalInfo">
      <map>
        <entry key="$USER_HOME$/example1">
          <value>
            <RecentProjectMetaInfo frameTitle="example1" projectWorkspaceId="1l1eI0fN2aAbTafN8JcW1mqQLgo">
              <option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
              <option name="build" value="RD-203.5981.141" />
              <option name="buildTimestamp" value="1607694026417" />
              <frame x="18" y="25" width="1792" height="1095" extendedState="6" />
              <option name="productionCode" value="RD" />
              <option name="projectOpenTimestamp" value="1608648874739" />
            </RecentProjectMetaInfo>
          </value>
        </entry>
        <entry key="$USER_HOME$/example2">
          <value>
            <RecentProjectMetaInfo frameTitle="example2" projectWorkspaceId="1n0anBYPw0pS5SSenjt51Cn60lt">
              <option name="binFolder" value="$APPLICATION_HOME_DIR$/bin" />
              <option name="build" value="RD-203.6682.21" />
              <option name="buildTimestamp" value="1609255594285" />
              <frame x="202" y="128" width="1612" height="1818" />
              <option name="productionCode" value="RD" />
              <option name="projectOpenTimestamp" value="1610529626546" />
            </RecentProjectMetaInfo>
          </value>
        </entry>
      </map>
    </option>
    <option name="lastProjectLocation" value="$USER_HOME$/" />
  </component>
</application>

And a path to Rider from cache.json is: "/Users/$USER/Library/Application Support/JetBrains/Rider2020.3"

If there's anything I can do to help, just let me know.