在線編輯器?
概覽?
在線編輯器允許您從Web瀏覽器編輯構建的源代碼。它還使您有可能打開終端、Python控制臺、Odoo Shell控制臺和 Notebooks。

您可以通過 分支選項卡 、 構建下拉菜單 或者在您的構建域名后添加 /odoo-sh/editor (例如 https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor ) 來訪問構建的編輯器。
編輯源代碼?
工作目錄由以下文件夾組成:
.
├── home
│ └── odoo
│ ├── src
│ │ ├── odoo Odoo Community source code
│ │ │ └── odoo-bin Odoo server executable
│ │ ├── enterprise Odoo Enterprise source code
│ │ ├── themes Odoo Themes source code
│ │ └── user Your repository branch source code
│ ├── data
│ │ ├── filestore database attachments, as well as the files of binary fields
│ │ └── sessions visitors and users sessions
│ └── logs
│ ├── install.log Database installation logs
│ ├── odoo.log Running server logs
│ ├── update.log Database updates logs
│ └── pip.log Python packages installation logs
您可以在開發和預發布版本中編輯源代碼(位于 /src 下的文件)。
注解
您的更改不會傳播到新的構建中,如果您想使它們持久化,必須將它們提交到源代碼中。
對于生產環境的構建,源代碼是只讀的,因為在生產服務器上應用本地更改不是一個好的做法。
您的 Github 存儲庫的源代碼位于 /src/user 下,
Odoo的源代碼位于
/src/odoo ( odoo/odoo),
/src/enterprise ( odoo/enterprise),
/src/themes ( odoo/design-themes).
要在編輯器中打開文件,只需在左側的文件瀏覽器面板中雙擊該文件即可。

接下來,您可以開始進行更改。您可以使用菜單
或按下 Ctrl+S 快捷鍵保存您的更改。
如果您保存的Python文件位于Odoo服務器的插件路徑下,Odoo將自動檢測并重新加載該文件,以便您的更改立即反映出來,無需手動重啟服務器。

然而,如果更改的是存儲在數據庫中的數據,例如字段的標簽或視圖,則必須更新相應的模塊才能應用更改。您可以使用菜單
來更新當前打開文件的模塊。請注意,當前打開的文件是文本編輯器中聚焦的文件,而不是文件瀏覽器中突出顯示的文件。
您也可以打開終端并執行以下命令:
$ odoo-bin -u <comma-separated module names> --stop-after-init
提交并推送您的更改?
您可以將更改提交并推送到您的 Github 存儲庫。
打開終端 (
),將目錄更改為 ~/src/user ,使用
cd ~/src/user
命令使用
git add
暫存您的更改,使用
git commit
提交您的更改,使用
git push https HEAD:<branch>
推送您的更改。
在這個最后的命令中,
https 是您的 HTTPS Github 遠程倉庫的名稱(例如 https://github.com/username/repository.git),
HEAD 是你提交的最新修訂版本的引用。
<branch> 必須替換為您要推送更改的分支名稱,如果您在開發構建中工作,則很可能是當前分支。

注解
由于您的SSH私鑰不在構建容器中(出于明顯的安全考慮)也沒有通過SSH代理轉發(因為您是通過Web瀏覽器訪問此編輯器),因此無法使用SSH身份驗證自己到Github。您必須使用Github倉庫的HTTPS遠程來推送更改,它會自動添加為 https 在您的Git遠程中命名。您將被提示輸入Github用戶名和密碼。如果您在Github上啟用了雙重身份驗證,您可以創建一個 `個人訪問令牌<https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_并將其用作密碼。授予“repo”權限即可。
注解
Git源文件夾 ~/src/user 沒有檢出分支,而是檢出了一個分離的修訂版本:這是因為構建是基于特定的修訂版本而不是分支進行的。換句話說,這意味著您可以在同一分支上擁有多個構建,但是在不同的修訂版本上。
一旦您的更改被推送,根據您的 分支推送行為 ,可能會創建一個新的構建。您可以繼續在您推送的編輯器中工作,因為它將與創建的新構建具有相同的修訂版本,但始終確保在使用您分支的最新修訂版本的構建的編輯器中。
控制臺?
您可以打開Python控制臺,這是 IPython交互式shell。使用Python控制臺而不是終端中的IPython shell的最有趣的補充之一是 豐富的顯示 功能。由于這個功能,您將能夠以HTML格式顯示對象。
例如,您可以使用 pandas 顯示 CSV 文件的單元格。

您還可以打開Odoo Shell控制臺,玩轉您的數據庫的Odoo注冊表和模型方法。您還可以直接讀取或寫入您的記錄。
警告
在Odoo控制臺中,事務會自動提交。這意味著,例如,記錄中的更改會在數據庫中有效地應用。如果您更改了用戶的名稱,則用戶的名稱也會在您的數據庫中更改。因此,在生產數據庫上應謹慎使用Odoo控制臺。
您可以使用 env 來調用您的數據庫注冊表中的模型,例如 env['res.users']
。
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Pretty
類可以讓您輕松地以漂亮的方式顯示列表和字典,使用上面提到的 `豐富的顯示<https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>`_。

您也可以使用 pandas 來顯示圖表。
