当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript ICodeEditor.getPosition方法代码示例

本文整理汇总了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();
		});
	}
开发者ID:sameer-coder,项目名称:vscode,代码行数:25,代码来源:debugEditorActions.ts

示例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();
		});
	}
开发者ID:AllureFer,项目名称:vscode,代码行数:26,代码来源:debugEditorActions.ts

示例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);
开发者ID:13572293130,项目名称:vscode,代码行数:30,代码来源:quickFixModel.ts

示例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);
	}
开发者ID:jinlongchen2018,项目名称:vscode,代码行数:33,代码来源:debugEditorActions.ts

示例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);
}
开发者ID:JarnoNijboer,项目名称:vscode,代码行数:17,代码来源:debugEditorActions.ts

示例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();
		}
	}
开发者ID:13572293130,项目名称:vscode,代码行数:21,代码来源:quickFixModel.ts

示例7:

			this.triggerAutoSuggestPromise.then(() => {
				this.triggerAutoSuggestPromise = null;
				if (marker === this.lastMarker) {
					this.triggerDialog(true, this.editor.getPosition());
				}
			});
开发者ID:13572293130,项目名称:vscode,代码行数:6,代码来源:quickFixModel.ts


注:本文中的vs/editor/browser/editorBrowser.ICodeEditor.getPosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。