public override void Execute() { int result = this.Editor.Caret.EditPosition.Line + 1; GoToLineDialog goToLineDialog = new GoToLineDialog(); goToLineDialog.LineNumber = result.ToString((IFormatProvider)CultureInfo.InvariantCulture); bool?nullable = goToLineDialog.ShowDialog(); if (nullable.HasValue && nullable.Value && (int.TryParse(goToLineDialog.LineNumber, out result) && result > 0)) { int documentLineIndex = result - 1; if (documentLineIndex >= this.Editor.Document.Lines.Count) { documentLineIndex = this.Editor.Document.Lines.Count - 1; } this.View.GoToLine(documentLineIndex); this.View.Selection.Collapse(); } base.Execute(); }
public override void Execute() { base.Execute(); int result = this.TextView.TextSnapshot.GetLineNumberFromPosition(this.TextView.Caret.Position.Index) + 1; GoToLineDialog goToLineDialog = new GoToLineDialog(); goToLineDialog.LineNumber = result.ToString((IFormatProvider)CultureInfo.InvariantCulture); bool?nullable = goToLineDialog.ShowDialog(); if (!nullable.HasValue || !nullable.Value || (!int.TryParse(goToLineDialog.LineNumber, out result) || result <= 0)) { return; } --result; if (result >= this.TextView.TextSnapshot.LineCount) { result = this.TextView.TextSnapshot.LineCount - 1; } this.CodeEditor.GotoLine(result); this.CodeEditor.ClearSelection(); this.CodeEditor.Focus(); }