本文整理汇总了TypeScript中vs/editor/browser/editorBrowser.ICodeEditor.getPosition方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ICodeEditor.getPosition方法的具体用法?TypeScript ICodeEditor.getPosition怎么用?TypeScript ICodeEditor.getPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vs/editor/browser/editorBrowser.ICodeEditor
的用法示例。
在下文中一共展示了ICodeEditor.getPosition方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: run
public run(accessor: ServicesAccessor, editor: ICodeEditor): TPromise<void> {
const debugService = accessor.get(IDebugService);
if (debugService.state !== State.Stopped) {
return TPromise.as(null);
}
const position = editor.getPosition();
const uri = editor.getModel().uri;
const oneTimeListener = debugService.getViewModel().focusedProcess.session.onDidEvent(event => {
if (event.event === 'stopped' || event.event === 'exit') {
const toRemove = debugService.getModel().getBreakpoints()
.filter(bp => bp.lineNumber === position.lineNumber && bp.uri.toString() === uri.toString()).pop();
if (toRemove) {
debugService.removeBreakpoints(toRemove.getId());
}
oneTimeListener.dispose();
}
});
const bpExists = !!(debugService.getModel().getBreakpoints().filter(bp => bp.column === position.column && bp.lineNumber === position.lineNumber && bp.uri.toString() === uri.toString()).pop());
return (bpExists ? TPromise.as(null) : debugService.addBreakpoints(uri, [{ lineNumber: position.lineNumber, column: position.column }])).then(() => {
debugService.getViewModel().focusedThread.continue();
});
}
示例2: run
public run(accessor: ServicesAccessor, editor: ICodeEditor): TPromise<void> {
const debugService = accessor.get(IDebugService);
if (debugService.state !== State.Stopped) {
return TPromise.as(null);
}
let breakpointToRemove: IBreakpoint;
const oneTimeListener = debugService.getViewModel().focusedSession.raw.onDidEvent(event => {
if (event.event === 'stopped' || event.event === 'exit') {
if (breakpointToRemove) {
debugService.removeBreakpoints(breakpointToRemove.getId());
}
oneTimeListener.dispose();
}
});
const position = editor.getPosition();
const uri = editor.getModel().uri;
const bpExists = !!(debugService.getModel().getBreakpoints({ column: position.column, lineNumber: position.lineNumber, uri }).length);
return (bpExists ? TPromise.as(null) : debugService.addBreakpoints(uri, [{ lineNumber: position.lineNumber, column: position.column }])).then((breakpoints) => {
if (breakpoints && breakpoints.length) {
breakpointToRemove = breakpoints[0];
}
debugService.getViewModel().focusedThread.continue();
});
}
示例3: RunOnceScheduler
this.updateScheduler = new RunOnceScheduler(() => {
var marker = this.lastMarker;
var pos = this.editor.getPosition();
if (marker && Range.containsPosition(marker, pos)) {
// still on the same marker
if (this.lightBulpPosition) {
this.setDecoration(pos);
}
return;
}
this.lastMarker = marker = this.findMarker(pos, false);
if (!marker) {
// remove lightbulp
this.setDecoration(null);
return;
}
var $tRequest = timer.start(timer.Topic.EDITOR, 'quickfix/lighbulp');
var computeFixesPromise = this.computeFixes(marker);
computeFixesPromise.done((fixes) => {
this.setDecoration(!arrays.isFalsyOrEmpty(fixes) ? pos : null);
this.triggerAutoSuggest(marker);
$tRequest.stop();
}, (error) => {
onUnexpectedError(error);
this.setDecoration(null);
$tRequest.stop();
});
}, 250);
示例4: run
public run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): TPromise<any> {
const debugService = accessor.get(IDebugService);
const editorService = accessor.get(IEditorService);
const currentUri = editor.getModel().uri;
const currentLine = editor.getPosition().lineNumber;
//Breakpoints returned from `getBreakpoints` are already sorted.
const allEnabledBreakpoints = debugService.getModel().getBreakpoints({ enabledOnly: true });
//Try to find breakpoint in current file
let moveBreakpoint =
this.isNext
? allEnabledBreakpoints.filter(bp => bp.uri.toString() === currentUri.toString() && bp.lineNumber > currentLine)[0]
: allEnabledBreakpoints.filter(bp => bp.uri.toString() === currentUri.toString() && bp.lineNumber < currentLine)[0];
//Try to find breakpoints in following files
if (!moveBreakpoint) {
moveBreakpoint =
this.isNext
? allEnabledBreakpoints.filter(bp => bp.uri.toString() > currentUri.toString())[0]
: allEnabledBreakpoints.filter(bp => bp.uri.toString() < currentUri.toString())[0];
}
//Move to first possible breakpoint
if (!moveBreakpoint) {
moveBreakpoint = allEnabledBreakpoints[0];
}
if (moveBreakpoint) {
return openBreakpointSource(moveBreakpoint, false, true, debugService, editorService);
}
return TPromise.as(null);
}
示例5: addColumnBreakpoint
function addColumnBreakpoint(accessor: ServicesAccessor, editor: ICodeEditor, remove: boolean): TPromise<any> {
const debugService = accessor.get(IDebugService);
const position = editor.getPosition();
const modelUri = editor.getModel().uri;
const bp = debugService.getModel().getBreakpoints()
.filter(bp => bp.lineNumber === position.lineNumber && bp.column === position.column && bp.uri.toString() === modelUri.toString()).pop();
if (bp) {
return remove ? debugService.removeBreakpoints(bp.getId()) : TPromise.as(null);
}
if (debugService.getConfigurationManager().canSetBreakpointsIn(editor.getModel())) {
return debugService.addBreakpoints(modelUri, [{ lineNumber: position.lineNumber, column: position.column }]);
}
return TPromise.as(null);
}
示例6: onMarkerChanged
private onMarkerChanged(changedResources: URI[]): void {
var model = this.editor.getModel();
if (!model) {
return;
}
var associatedResource = model.getAssociatedResource();
if (!changedResources.some(r => associatedResource.toString() === r.toString())) {
return;
}
var lastMarker = this.lastMarker;
this.markers = null;
this.lastMarker = null;
var currentMarker = this.findMarker(this.editor.getPosition(), false);
if (this.isSimilarMarker(currentMarker, lastMarker)) {
this.lastMarker = currentMarker;
} else {
this.onCursorPositionChanged();
}
}
示例7:
this.triggerAutoSuggestPromise.then(() => {
this.triggerAutoSuggestPromise = null;
if (marker === this.lastMarker) {
this.triggerDialog(true, this.editor.getPosition());
}
});