Ubuntu20.04: UE4.27 中 Source Code 的編輯器下拉框沒有 Rider選項

問題描述

最近想用 Rider 作為 UE4 開發的 IDE,但安裝好 Rider 后,發現編輯器下拉框中沒有 Rider 的選項,我檢查了 UE4 的插件,發現 Rider Integration 插件已經安裝且啟用的。
環境:Ubuntu 20.04 + UE4.27 + Rider2023.2

在這里插入圖片描述
在這里插入圖片描述

解決方法

在網上找了挺久,主要都是兩種解決方案,有的人可以成功解決問題,但我嘗試后都沒有生效。

1、將 Rider 啟動文件的絕對路徑寫入到 RiderLocations.txt ,該文件在 /UE4安裝目錄/Engine/Plugins/Developer/RiderSourceCodeAccess/Resources/RiderLocations.txt
詳細方法傳送門
2、用虛幻引擎 master 分支的 RiderSourceCodeAccess 文件夾替換 UE 安裝目錄內原有的 RiderSourceCodeAccess,然后重新編譯UE4。
RiderSourceCodeAccess 的路徑為 /UE安裝目錄/Engine/Plugins/Developer/RiderSourceCodeAccess
詳細方法傳送門
3、從 JetBrains 的 Toolbox 下重新安裝 Rider
詳細方法傳送門

查看插件源碼

在使用1、2 兩種辦法都無效后,我嘗試著去看了下RiderSourceCodeAccess 插件的源碼,發現在UE4中加載IDE Rider都是需要找到 Rider 的安裝目錄,進而在安裝目錄內找到 ./bin/rider.sh 的啟動文件, 于是我去看了搜索 Rider 安裝目錄的函數。
搜索安裝目錄的源碼主要在 /UE4安裝目錄/Engine/Plugins/Developer/RiderSourceCodeAccess/Source/RiderSourceCodeAccess/Private/RiderPathLocator 下,該目錄下有著 Linux、Mac、Win 子目錄,分別是對應系統的 RiderPathLocator 的源文件。我看了 Linux 下的源文件,即 RiderPathLocatorLinux.cpp

插件會通過幾種方法來找到 Rider 的源文件:

TSet<FInstallInfo> FRiderPathLocator::CollectAllPaths()
{TSet<FInstallInfo> InstallInfos;InstallInfos.Append(GetInstalledRidersWithMdfind());InstallInfos.Append(GetManuallyInstalledRiders());	// 手動安裝 Rider 的InstallInfos.Append(GetInstallInfosFromToolbox(GetToolboxPath(), "Rider*")); // 從 JetBrains 的 Toolbox 安裝的 RiderInstallInfos.Append(GetInstallInfosFromResourceFile());	// 從 RiderLocations.txt 找 Rider 安裝路徑return InstallInfos;
}

GetInstallInfosFromResourceFile() 只在頭文件定義了接口,在 Linux 下的源文件中并沒有實現,所以方法1在Linux 上并不起作用。
所以我去看了 GetManuallyInstalledRiders 的實現:

static FString GetHomePath()
{
#if ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION <= 20TCHAR CHomePath[4096];FPlatformMisc::GetEnvironmentVariable(TEXT("HOME"), CHomePath, ARRAY_COUNT(CHomePath));const FString FHomePath = CHomePath;
#elseconst FString FHomePath = FPlatformMisc::GetEnvironmentVariable(TEXT("HOME"));
#endifreturn FHomePath;
}static TArray<FInstallInfo> GetManuallyInstalledRiders()
{TArray<FInstallInfo> Result;TArray<FString> RiderPaths;const FString FHomePath = GetHomePath();	// 獲取家目錄路徑// 將家目錄路徑與 Rider* 拼接,即 家目錄路徑/Rider*const FString LocalPathMask = FPaths::Combine(FHomePath, TEXT("Rider*")); // 搜索匹配 '家目錄路徑/Rider*' 的目錄IFileManager::Get().FindFiles(RiderPaths, *LocalPathMask, false, true);for(const FString& RiderPath: RiderPaths){// 獲取完整的目錄,即FString FullPath = FPaths::Combine(FHomePath, RiderPath);// 在 FullPath 目錄下找到可執行文件,即 ./bin/rider.shTOptional<FInstallInfo> InstallInfo = FRiderPathLocator::GetInstallInfoFromRiderPath(FullPath, FInstallInfo::EInstallType::Installed);if(InstallInfo.IsSet()){Result.Add(InstallInfo.GetValue());}}return Result;
}

所以我發現可能是我的 Rider 安裝目錄的命名不符合搜索的規則,所以才沒有 Rider選項。

最終解決

因為我的 Rider 安裝路徑本來就是在家目錄下,只是目錄名是 JetBrains Rider 2023.2 ,所以我將起它重命名,以 Rider開頭,這樣的話,插件就能找到 Rider 的安裝路徑了。
修改好后,用UE4 打開項目,一般就能看到編輯器下拉框中有 Rider 選項了。
在這里插入圖片描述
如果還是沒有的話或者你修改了RiderSourceCodeAccess 里面的源碼,你需要重新構建你的項目。
用 Rider 打開你的 project,選中你的 project 右鍵,選擇 高級構建操作--> 重新構建所選項目
這個過程大概會話 40~60分鐘。
構建成功后,再次使用 UE4 打開你的項目,就可以看到 Rider 選項了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716176.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716176.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716176.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

應急加電電源車-在航空航天、武器等多領域的應用

應急加電電源車是一種專門設計用于在緊急情況下為其他設備提供電力支持的車輛。它通常由電池或燃料電池驅動&#xff0c;可以在沒有外部電源的情況下為其他設備提供持續的電力供應。這種車輛在災難救援、野外作業、軍事行動等領域具有廣泛的應用。 應急加電電源車通常具有以下…

WordPress建站入門教程:如何在本地電腦搭建WordPress網站?

前面跟大家分享了『WordPress建站入門教程&#xff1a;如何安裝本地WordPress網站運行環境&#xff1f;』&#xff0c;接下來boke112百科就繼續跟大家分享本地電腦如何搭建WordPress網站。 小皮面板&#xff08;phpstudy&#xff09;的“軟件管理 – 網站程序”雖然可以一鍵部…

Springboot+vue的高校教師教研信息填報系統(有報告)。Javaee項目,springboot vue前后端分離項目。

演示視頻&#xff1a; Springbootvue的高校教師教研信息填報系統&#xff08;有報告&#xff09;。Javaee項目&#xff0c;springboot vue前后端分離項目。 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&am…

數據審計 -本福德定律 Benford‘s law (sample database classicmodels _No.6)

數據審計 -本福德定律 Benford’s law 準備工作&#xff0c;可以去下載 classicmodels 數據庫資源如下 [ 點擊&#xff1a;classicmodels] 也可以去我的博客資源下載 文章目錄 數據審計 -本福德定律 Benfords law 前言一、什么是 本福德定律&#xff1f;二、數學公式三、應用…

最新會聲會影2024旗艦版系統配置要求

大家好呀&#xff01;小編今天給大家帶來了一個超級實用的信息&#xff0c;關于會聲會影2024旗艦版的系統配置要求&#xff01; 會聲會影2023-安裝包&#xff1a; https://souurl.cn/gtyDFc 會聲會影2023-安裝包&#xff1a; https://souurl.cn/ZQ6QWp 會聲會影2022-安裝包&a…

Java零基礎-反序列化和序列化

哈嘍&#xff0c;各位小伙伴們&#xff0c;你們好呀&#xff0c;我是喵手。 今天我要給大家分享一些自己日常學習到的一些知識點&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相學習&#xff0c;一個人雖可以走的更快&#xff0c;但一群人可以走的更遠。 我是一名后…

回歸預測 | Matlab實現CPO-BiTCN-BiGRU冠豪豬算法優化雙向時間卷積門控循環單元多變量回歸預測

回歸預測 | Matlab實現CPO-BiTCN-BiGRU冠豪豬算法優化雙向時間卷積門控循環單元多變量回歸預測 目錄 回歸預測 | Matlab實現CPO-BiTCN-BiGRU冠豪豬算法優化雙向時間卷積門控循環單元多變量回歸預測效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 1.Matlab實現CPO-BiTCN-B…

mc生存插火把

題目描述 話說有一天 linyorson 在“我的世界”開了一個 nn 的方陣&#xff0c;現在他有 m 個火把和 k 個螢石&#xff0c;分別放在 (x1,y1)~(xm,ym) 和 (o1,p1)~(ok,pk)的位置&#xff0c;沒有光并且沒放東西的地方會生成怪物。請問在這個方陣中有幾個點會生成怪物&#xf…

Vue開發實例(六)實現左側菜單導航

左側菜單導航 一、一級菜單二、二級菜單三、三級菜單1、加入相關事件 四、菜單點擊跳轉1. 創建新頁面2. 配置路由3. 菜單中加入路由配置4、處理默認的Main窗口為空的情況 五、動態左側菜單導航1、動態實現一級菜單2、動態實現二級菜單 一、一級菜單 在之前的Aside.vue中去實現…

SRIO--IP講解及環回測試

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、IP例化文件二、SRIO環回工程搭建三、板級驗證3.1 板級驗證環節3.2 系統所需硬件3.3 ILA波形前言 本章將為大家介紹 “Serial RapidIO Gen2 ”IP 的使用以及配置方法。“Serial RapidIO Ge…

JavaScript入門學(Web APIs)

1.變量聲明 2 DOM介紹 2.1 什么是DOM 2.2 DOM樹 2.3 DOM對象&#xff08;重要&#xff09; 3.DOM&#xff08;文檔對象模型&#xff09;-獲取元素 3.1 獲取匹配的第一個元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&…

Canvs的js庫:Fabric.js簡單強大,用于繪制各種圖形

Fabric.js是一個用于創建交互式的HTML5 Canvas應用程序的JavaScript庫。它提供了一個簡單而強大的API&#xff0c;用于在Web瀏覽器中繪制和操作圖形對象。Fabric.js可以用于創建各種圖形應用程序&#xff0c;例如繪圖編輯器、圖像編輯器、流程圖、地圖和數據可視化等。 官網文…

校企合作項目總結

校企合作總結 前言項目框架開發待辦水平越權總結 前言 寒假里小組給了校企合作的項目&#xff0c;分配給我的工作量總共也就兩三套crud&#xff0c;雖然工作很少&#xff0c;但還是從里面學到了很多東西&#xff0c;收獲了大量的實習經驗&#xff0c;在這里總結記錄一下。 項…

FreeRTOS學習筆記——FreeRTOS中斷管理

精華總結&#xff1a; 中斷優先級0為最高&#xff0c;任務優先級0為最低 中斷優先級分組中為方便rtos管理4bit全部設置成搶占優先級 32單片機的中斷管理是由3個寄存器完成&#xff08;名字忽略&#xff0c;具體功能忽略&#xff09;&#xff0c;三個寄存器都是32bit&#xff0c…

微信小程序云開發教程——墨刀原型工具入門(文件設置+編輯組件)

引言 作為一個小白&#xff0c;小北要怎么在短時間內快速學會微信小程序原型設計&#xff1f; “時間緊&#xff0c;任務重”&#xff0c;這意味著學習時必須把握微信小程序原型設計中的重點、難點&#xff0c;而非面面俱到。 要在短時間內理解、掌握一個工具的使用&#xf…

NOC2023軟件創意編程(學而思賽道)python小高組決賽真題

目錄 下載原文檔打印做題: 軟件創意編程 一、參賽范圍 1.參賽組別:小學低年級組(1-3 年級)、小學高年級組(4-6 年級)、初中組。 2.參賽人數:1 人。 3.指導教師:1 人(可空缺)。 4.每人限參加 1 個賽項。 組別確定:以地方教育行政主管部門(教委、教育廳、教育局) 認…

【風格遷移】StyTr2:引入 Transformer 解決 CNN 在長距離依賴性處理不足和細節丟失問題

StyTr2&#xff1a;引入 Transformer 解決 CNN 在長距離依賴性處理不足和細節丟失問題 提出背景StyTr2 組成StyTr2 架構 提出背景 論文&#xff1a;https://arxiv.org/pdf/2105.14576.pdf 代碼&#xff1a;https://github.com/diyiiyiii/StyTR-2 問題&#xff1a; 傳統的神經…

idea中springboot項目創建后追加依賴

springboot項目創建后追加依賴 前言1、安裝插件editstarters設置->插件 2、進入pom.xml 頁面 前言 在項目創建的時候選擇好依賴創建項目&#xff0c;之后追加依賴不是很方便&#xff0c;介紹一個簡單的使用方法&#xff0c;通過editstarters進行添加 1、安裝插件editstart…

在 Ubuntu 終端輸出不同顏色、粗體、下劃線或其他樣式的字體

嗯。調試時總發現自己打印的調試信息太過普通、單調&#xff0c;于是乎…… Notice 要在終端實現字體的特殊樣式&#xff0c;通常通過使用特殊的控制字符來實現&#xff0c;而不是通過某語言本身的功能來實現。 在大多數終端中&#xff0c;可以使用 ANSI 轉義序列來設置字體的…

CleanMyMac X2024測評深度分析與功能全面介紹

一、軟件概述 CleanMyMac X 是一款強大的Mac清理和優化工具&#xff0c;它可以幫助用戶輕松管理和釋放Mac上的空間&#xff0c;優化系統性能&#xff0c;提高運行速度。這款軟件以其直觀的用戶界面和豐富的功能受到了廣大Mac用戶的歡迎。 CleanMyMac X4.14.6全新版下載如下: …