本文整理汇总了TypeScript中vs/editor/contrib/snippet/snippetController2.SnippetController2类的典型用法代码示例。如果您正苦于以下问题:TypeScript SnippetController2类的具体用法?TypeScript SnippetController2怎么用?TypeScript SnippetController2使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SnippetController2类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test
test('insert, insert -> tab, tab, done', function () {
const ctrl = new SnippetController2(editor, logService, contextKeys);
ctrl.insert('${1:one}${2:two}$0');
assertContextKeys(contextKeys, true, false, true);
ctrl.next();
assertContextKeys(contextKeys, true, true, true);
ctrl.next();
assertContextKeys(contextKeys, false, false, false);
editor.trigger('test', 'type', { text: '\t' });
assert.equal(SnippetController2.InSnippetMode.getValue(contextKeys), false);
assert.equal(SnippetController2.HasNextTabstop.getValue(contextKeys), false);
assert.equal(SnippetController2.HasPrevTabstop.getValue(contextKeys), false);
});
示例2: test
test('Optional tabstop in snippets #72358', function () {
const ctrl = new SnippetController2(editor, logService, contextKeys);
model.setValue('');
editor.setSelection(new Selection(1, 1, 1, 1));
ctrl.insert('${1:prop: {$2\\},}\nmore$0');
assertContextKeys(contextKeys, true, false, true);
assertSelections(editor, new Selection(1, 1, 1, 10));
editor.trigger('test', Handler.Cut, {});
assertSelections(editor, new Selection(1, 1, 1, 1));
ctrl.next();
assertSelections(editor, new Selection(2, 5, 2, 5));
assertContextKeys(contextKeys, false, false, false);
});
示例3: test
test('HTML Snippets Combine, #32211', function () {
const ctrl = new SnippetController2(editor, contextKeys);
model.setValue('');
model.updateOptions({ insertSpaces: false, tabSize: 4, trimAutoWhitespace: false });
editor.setSelection(new Selection(1, 1, 1, 1));
ctrl.insert(`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=\${2:device-width}, initial-scale=\${3:1.0}">
<meta http-equiv="X-UA-Compatible" content="\${5:ie=edge}">
<title>\${7:Document}</title>
</head>
<body>
\${8}
</body>
</html>
`);
ctrl.next();
ctrl.next();
ctrl.next();
ctrl.next();
assertSelections(editor, new Selection(11, 5, 11, 5));
ctrl.insert('<input type="${2:text}">');
assertSelections(editor, new Selection(11, 18, 11, 22));
});
示例4: test
test('A little confusing visual effect of highlighting for snippet tabstop #43270', async function () {
const ctrl = new SnippetController2(editor, logService, contextKeys);
model.setValue('');
editor.setSelection(new Selection(1, 1, 1, 1));
ctrl.insert('background-color: ${1:fff};$0');
assertSelections(editor, new Selection(1, 19, 1, 22));
editor.setSelection(new Selection(1, 22, 1, 22));
assertContextKeys(contextKeys, true, false, true);
editor.trigger('', 'deleteRight', null);
assert.equal(model.getValue(), 'background-color: fff');
await timeout(0); // this depends on re-scheduling of events...
assertContextKeys(contextKeys, false, false, false);
});
示例5: test
test('Cancelling snippet mode should discard added cursors #68512 (hard cancel)', function () {
const ctrl = new SnippetController2(editor, logService, contextKeys);
model.setValue('');
editor.setSelection(new Selection(1, 1, 1, 1));
ctrl.insert('.REGION ${2:FUNCTION_NAME}\nCREATE.FUNCTION ${1:VOID} ${2:FUNCTION_NAME}(${3:})\n\t${4:}\nEND\n.ENDREGION$0');
assertSelections(editor, new Selection(2, 17, 2, 21));
ctrl.next();
assertSelections(editor, new Selection(1, 9, 1, 22), new Selection(2, 22, 2, 35));
assertContextKeys(contextKeys, true, true, true);
editor.setSelections([new Selection(1, 22, 1, 22), new Selection(2, 35, 2, 35)]);
assertContextKeys(contextKeys, true, true, true);
ctrl.cancel(true);
assertContextKeys(contextKeys, false, false, false);
assertSelections(editor, new Selection(1, 22, 1, 22));
});
示例6: insertSnippet
insertSnippet(template: string, ranges: IRange[], opts: IUndoStopOptions) {
if (!this._codeEditor) {
return false;
}
const snippetController = SnippetController2.get(this._codeEditor);
// // cancel previous snippet mode
// snippetController.leaveSnippet();
// set selection, focus editor
const selections = ranges.map(r => new Selection(r.startLineNumber, r.startColumn, r.endLineNumber, r.endColumn));
this._codeEditor.setSelections(selections);
this._codeEditor.focus();
// make modifications
snippetController.insert(template, 0, 0, opts.undoStopBefore, opts.undoStopAfter);
return true;
}