mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
fix #186526
This commit is contained in:
parent
2b5fad6158
commit
0ab28d6724
|
@ -39,7 +39,6 @@ import { registerMoveActions } from 'vs/workbench/contrib/chat/browser/actions/c
|
|||
import { registerClearActions } from 'vs/workbench/contrib/chat/browser/actions/chatClearActions';
|
||||
import { AccessibleViewAction } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution';
|
||||
import { AccessibleViewType, IAccessibleViewService } from 'vs/workbench/contrib/accessibility/browser/accessibleView';
|
||||
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
|
||||
import { IChatResponseViewModel, isResponseVM } from 'vs/workbench/contrib/chat/common/chatViewModel';
|
||||
import { CONTEXT_IN_CHAT_SESSION } from 'vs/workbench/contrib/chat/common/chatContextKeys';
|
||||
import { ChatAccessibilityService } from 'vs/workbench/contrib/chat/browser/chatAccessibilityService';
|
||||
|
@ -125,25 +124,15 @@ class ChatAccessibleViewContribution extends Disposable {
|
|||
super();
|
||||
this._register(AccessibleViewAction.addImplementation(100, 'panelChat', accessor => {
|
||||
const accessibleViewService = accessor.get(IAccessibleViewService);
|
||||
const codeEditorService = accessor.get(ICodeEditorService);
|
||||
const editor = codeEditorService.getActiveCodeEditor() || codeEditorService.getFocusedCodeEditor();
|
||||
const widgetService = accessor.get(IChatWidgetService);
|
||||
const editorUri = editor?.getModel()?.uri;
|
||||
const widget: IChatWidget | undefined = widgetService.lastFocusedWidget;
|
||||
const focusedItem: ChatTreeItem | undefined = widget?.getFocus();
|
||||
if (!widget || !focusedItem) {
|
||||
return false;
|
||||
}
|
||||
const codeBlockInfo = editorUri ? widget!.getCodeBlockInfoForEditor(editorUri) : undefined;
|
||||
let responseItem: ChatTreeItem | undefined;
|
||||
if (codeBlockInfo) {
|
||||
responseItem = codeBlockInfo.element;
|
||||
} else {
|
||||
responseItem = widget!.viewModel?.getItems().reverse().find((item): item is IChatResponseViewModel => isResponseVM(item));
|
||||
}
|
||||
if (!isResponseVM(responseItem)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const responseItem: ChatTreeItem | undefined = widget.viewModel?.getItems().find((item): item is IChatResponseViewModel => isResponseVM(item) && item.id === focusedItem?.id);
|
||||
|
||||
const responseContent = responseItem?.response.value;
|
||||
if (!responseContent) {
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue