本文整理匯總了TypeScript中vs/editor/contrib/codeAction/codeActionModel.CodeActionOracle類的典型用法代碼示例。如果您正苦於以下問題:TypeScript CodeActionOracle類的具體用法?TypeScript CodeActionOracle怎麽用?TypeScript CodeActionOracle使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了CodeActionOracle類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: CodeActionOracle
let oracle = new CodeActionOracle(editor, markerService, e => {
assert.equal(e.trigger.type, 'auto');
assert.deepEqual(e.range, { startLineNumber: 3, startColumn: 1, endLineNumber: 3, endColumn: 4 });
assert.deepEqual(e.position, { lineNumber: 3, column: 1 });
oracle.dispose();
resolve(null);
}, 5);
示例2: Promise
return new Promise((resolve, reject) => {
const oracle = new CodeActionOracle(editor, markerService, e => {
assert.equal(e.trigger.type, 'auto');
assert.ok(e.actions);
e.actions.then(fixes => {
oracle.dispose();
assert.equal(fixes.length, 1);
resolve(undefined);
}, reject);
});
// start here
editor.setPosition({ lineNumber: 1, column: 1 });
});
示例3: test
test('Oracle -> marker wins over selection', () => {
let range: Range;
let reg = CodeActionProviderRegistry.register(languageIdentifier.language, {
provideCodeActions(doc, _range) {
range = _range;
return [];
}
});
markerService.changeOne('fake', uri, [{
startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 6,
message: 'error',
severity: 1,
code: '',
source: ''
}]);
let fixes: TPromise<any>[] = [];
let oracle = new CodeActionOracle(editor, markerService, e => {
fixes.push(e.actions);
}, 10);
editor.setSelection({ startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 13 });
return TPromise.join<any>([TPromise.timeout(20)].concat(fixes)).then(_ => {
// -> marker wins
assert.deepEqual(range, { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 6 });
// 'auto' triggered, non-empty selection BUT within a marker
editor.setSelection({ startLineNumber: 1, startColumn: 2, endLineNumber: 1, endColumn: 4 });
return TPromise.join([TPromise.timeout(20)].concat(fixes)).then(_ => {
reg.dispose();
oracle.dispose();
// assert marker
assert.deepEqual(range, { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 6 });
});
});
});
示例4:
return TPromise.join([TPromise.timeout(20)].concat(fixes)).then(_ => {
reg.dispose();
oracle.dispose();
// assert marker
assert.deepEqual(range, { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 6 });
});