[英]VSCode: How to Focus to an Editor
在我的 Visual Studio 代碼擴展中,我目前調用workbench.action.moveEditorToNextGroup
來移動代碼中的編輯器。 但是,如果我調用任何額外的命令,它將使用上一個編輯器組,而不是我移動到的那個。
我怎樣才能專注於某個編輯器,比如我移動到的那個編輯器?
看起來workbench.action.focusFirstEditorGroup
應該打勾。
或者,
workbench.action.focusFirstEditorGroup
workbench.action.focusSecondEditorGrou
...
也可能是您正在尋找的。
有關完整列表,請參閱文檔
移動編輯器的一種更強大的方法是使用moveActiveEditor
命令。
const moveTabBetweenGroupArgs = {to: "right", by: "group"};
await vscode.commands.executeCommand('moveActiveEditor', moveTabBetweenGroupArgs);
最好的文檔位於此處: moveActiveEditor 說明。
如果我反復調用它,它會使用我剛剛移動的編輯器。 因此,例如,如果我將一個編輯器移動到正確的組,然后再次觸發該命令,那么同一個編輯器將移動到下一個正確的組。
如果那里還沒有一個組,該命令將在右側創建一個組。
不幸的是,有這些選項:
// const moveTabBetweenGroupArgs = {to: "position", by: "group", value: 2}; // 'value' is 1-based
您還應該能夠將編輯器移動到第二組 - 即使它不存在 - 但此表單不會創建第二組並且靜默失敗。 我認為這是一個錯誤,並將提出一個問題。
您還可以使用moveActiveEditor
命令在組內輕松移動編輯器,代碼如下:
const moveTabInGroupArgs = {to: "position", by: "tab", value: targetIndex + 1}; // 'value' is 1-based
await vscode.commands.executeCommand('moveActiveEditor', moveTabInGroupArgs);
這會將 ACTIVE 編輯器移動到當前組中的value
列。 該value
是基於 1 的,因此組中的第一列是1
,而不是0
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.