提交 21b0059b 编写于 作者: R Rachel Macfarlane

Support completions in comment editors

上级 48e3f6c8
......@@ -131,7 +131,7 @@ export class CommentNode extends Disposable {
const container = dom.append(this._commentEditContainer, dom.$('.edit-textarea'));
this._commentEditor = this.instantiationService.createInstance(SimpleCommentEditor, container, SimpleCommentEditor.getEditorOptions());
const resource = URI.parse(`comment:commentinput-${this.comment.commentId}-${Date.now()}.md`);
this._commentEditorModel = this.modelService.createModel('', this.modeService.createByFilepathOrFirstLine(resource.path), resource, true);
this._commentEditorModel = this.modelService.createModel('', this.modeService.createByFilepathOrFirstLine(resource.path), resource, false);
this._commentEditor.setModel(this._commentEditorModel);
this._commentEditor.setValue(this.comment.body.value);
......
......@@ -306,7 +306,7 @@ export class ReviewZoneWidget extends ZoneWidget {
this._commentEditor = this.instantiationService.createInstance(SimpleCommentEditor, this._commentForm, SimpleCommentEditor.getEditorOptions());
const modeId = hasExistingComments ? this._commentThread.threadId : ++INMEM_MODEL_ID;
const resource = URI.parse(`${COMMENT_SCHEME}:commentinput-${modeId}.md`);
const model = this.modelService.createModel(this._pendingComment || '', this.modeService.createByFilepathOrFirstLine(resource.path), resource, true);
const model = this.modelService.createModel(this._pendingComment || '', this.modeService.createByFilepathOrFirstLine(resource.path), resource, false);
this._localToDispose.push(model);
this._commentEditor.setModel(model);
this._localToDispose.push(this._commentEditor);
......
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { IEditorOptions } from 'vs/editor/common/config/editorOptions';
import { EditorAction, EditorExtensionsRegistry, IEditorContributionCtor } from 'vs/editor/browser/editorExtensions';
import { EditorAction, EditorExtensionsRegistry } from 'vs/editor/browser/editorExtensions';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
......@@ -13,7 +13,6 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
// Allowed Editor Contributions:
import { MenuPreventer } from 'vs/workbench/parts/codeEditor/browser/menuPreventer';
import { SelectionClipboard } from 'vs/workbench/parts/codeEditor/electron-browser/selectionClipboard';
import { ContextMenuController } from 'vs/editor/contrib/contextmenu/contextmenu';
import { SuggestController } from 'vs/editor/contrib/suggest/suggestController';
import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2';
......@@ -32,18 +31,17 @@ export class SimpleCommentEditor extends CodeEditorWidget {
@IThemeService themeService: IThemeService,
@INotificationService notificationService: INotificationService,
) {
super(domElement, options, { isSimpleWidget: true }, instantiationService, codeEditorService, commandService, contextKeyService, themeService, notificationService);
}
const codeEditorWidgetOptions = {
contributions: [
MenuPreventer,
ContextMenuController,
SuggestController,
SnippetController2,
TabCompletionController,
]
};
protected _getContributions(): IEditorContributionCtor[] {
return [
MenuPreventer,
SelectionClipboard,
ContextMenuController,
SuggestController,
SnippetController2,
TabCompletionController,
];
super(domElement, options, codeEditorWidgetOptions, instantiationService, codeEditorService, commandService, contextKeyService, themeService, notificationService);
}
protected _getActions(): EditorAction[] {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册