On windows and mac I know this is a fairly straightforward process but contrary to windows on linux, jetbrains IDEs are not system-declared so Unity on it's own has no way of knowing that Rider is installed. So from the get-go Rider's method for binding to unity and vice versa does not exist on ubuntu.
Make sure that the JetBrains Rider unity package is installed and updated to the last version, then in the drop-down locate the rider.sh file (it's located on [the folder you installed Rider in]/binand it should automatically recognize the IDE
And using Unity 2022.3 installed with Unity Hub from Flathub and Rider 2023.2 from Flathub, I'm unable to configure Unity to use Rider as the external editor. It does not show up in the defautl list, and I can't even navigate to its executable folder and select the file that way. The executable of Rider is in "/var/lib/flatpak/app/com.jetbrains.Rider/x86_64/stable/[large list of numbers]/files/extra/rider/bin"
The easiest solution is to install Rider without flatpak. This is what I do. Maybe an alternate solution would be to create a shell script that starts Rider through flatpack and give Unity the path to that script. But I didn't try that, this is just a guess.
Yes I can do that. It seems to work. But to confirm, you can't really "install" Rider with an installer from the official site. The official site provides a tar.gz with a startup .sh sript inside you need to extract and place somewhere manually. There's no deb or rpm installers, right?
And then in Unity you need to manually browse to the sh file, Rider won't be in the list by default because it hasn't been installed and detectable by other programs automatically.
The rider flatpak is not official (ie it is not made and maintained by JetBrains, this is written in the pack description on flathub). I wish JetBrains and others companies would start using flatpak more since it is the new standard and far superior to all other options.
I am attempting to publish my Azure Function Apps from JetBrains Rider running in my Ubuntu operating system.
If I attempt to create the function app within the publish profile I cannot specify the operating system & so it defaults to windows, which I do not want. But at least doing it this way I do see my functions within the function app.
If I attempt to create the function app within the azure portal first I can specify the linux operating system. However when I then publish to this existing resource from Rider the console suggests the publish was successful however my functions are not actually published.
When creating within the portal to I would like to specify my own app service plan when using the dynamic consumption pricing tier, but this does not appear possible?
Have ran some more tests.
It certainly appears to either be related to the framework version or the functions runtime.
I am having to create the function app within the portal first in order to host it within Linux regardless of the IDE that I use.
With Visual Studio 2019 I have managed to deploy a .NET 5 function app using the isolated worker (as I don't believe I had a choice) successfully. Despite having installed the .NET 6 SDK & Runtime Visual Studio will seemingly not allow me to create a .NET 6 function app.
With Rider I deploy my function app using the default worker & seemingly see a success, but the functions are never listed, so it hasn't actually deployed anything.
If I attempt to create an isolated worker within Rider I cannot even compile the project
It is certainly an issue with the functions runtime & Rider IDE.
I can compile a DefaultWorker project in Rider from both a Windows & Ubuntu O/S.
However with an IsolatedWorker the build initially fails with:
Microsoft.Azure.Functions.Worker.Sdk.targets(50, 7): Invalid combination of TargetFramework and AzureFunctionsVersion is set.
So my current conclusion:
isolated workers support .NET 5 from VS but not Rider.
default worker not supported in VS & is in Rider.
When creating the function app from either IDE (VS=isolated worker & Rider=default worker) it publishes successfully but Rider always defaults to a windows hosted function app, Visual Studio allows you to decide.
When attempting to publish to existing Linux function app previously created within the portal the publish from Visual Studio is successful & the functions appear, but with Rider despite the publish stating to be successful no functions are listed post publish.
Ok the reason I am unable to create a .NET 6 function app within Visual Studio is due to me running VS2019, whereas 2022 is required.
I opted to use the Azure CLI instead following this guide: -gb/azure/azure-functions/create-first-function-cli-csharp?tabs=azure-cli%2Cin-process&pivots=programming-runtime-functions-v4
By creating the function app first and publishing via the CLI I was able to publish to both a default worker & isolated worker function app hosted in Linux.
So I assume I will be able to publish my function app created in Rider via the Azure CLI too.
Not ideal but it should act as a workaround. I intend on moving away from Visual Studio so that I can develop within Linux so won't be installing VS2022 in this case but I assume it would have worked from there.
I will attempt to publish my function app created in Rider using the Azure CLI & if that proves successful I guess I'll mark that as the answer given Rider & the Azure Toolkit for Rider aren't Microsoft products, so I guess there isn't much support you can offer here.
Somewhat closer.
Publishing my Rider function app using the Azure CLI does successfully publish the functions.
However there appears to be an issue executing them.
With a simple HttpTrigger example, testing the function app that I created using the Azure CLI within windows returns a successful response
=dave
The csproj AzureFunctionsVersion property references v3 for the cli generated function app even though the package reference for Microsoft.NET.Sdk.Functions is set to 4.0.1.
The corresponding property within the csproj generated by rider was set to v4.
But both of those are irrelevant as I updated the rider project to match the cli project files and the publish was still unsuccessful in the fact that the functions were not published despite the function app being published successfully.
Confirmed by JetBrains support to be an issue within Rider.
Being addressed via this pull request that missed the 2022.1 release but should be included in the subsequent one.
-tools-for-intellij/pull/587
Although having read through -gb/azure/azure-functions/create-first-function-cli-csharp?tabs=azure-cli%2Cin-process&pivots=programming-runtime-functions-v4 and the linked articles I have decided to utilise the Azure CLI going forwards for creating & publishing Azure function apps.
JetBrains Toolbox automatically installs its desktop files in that location. However, RiderPathLocator.cs expects the .desktop file to be named "jetbrains-rider.desktop" while JetBrains Toolbox puts the files with a postfixed checksum in there like "jetbrains-rider-c5e460cd-9963-409d-9a9a-0ee2b31cffb8.desktop". Renaming that desktop file to "jetbrains-rider.desktop" fixes the problem and Unity shows Rider in the preferences window.
4a15465005