本文整理汇总了TypeScript中vs/editor/contrib/quickFix/quickFixModel.QuickFixOracle类的典型用法代码示例。如果您正苦于以下问题:TypeScript QuickFixOracle类的具体用法?TypeScript QuickFixOracle怎么用?TypeScript QuickFixOracle使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QuickFixOracle类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: QuickFixOracle
let oracle = new QuickFixOracle(editor, markerService, e => {
assert.equal(e.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
await new Promise(resolve => {
let oracle = new QuickFixOracle(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);
editor.setSelection({ startLineNumber: 1, startColumn: 1, endLineNumber: 4, endColumn: 1 });
});
示例3: TPromise
return new TPromise((resolve, reject) => {
const oracle = new QuickFixOracle(editor, markerService, e => {
assert.equal(e.type, 'auto');
assert.ok(e.fixes);
e.fixes.then(fixes => {
oracle.dispose();
assert.equal(fixes.length, 1);
resolve(undefined);
}, reject);
});
// start here
editor.setPosition({ lineNumber: 1, column: 1 });
});
示例4: 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 QuickFixOracle(editor, markerService, e => {
fixes.push(e.fixes);
}, 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 });
});
});
});
示例5:
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 });
});