當前位置: 首頁>>代碼示例>>C#>>正文


C# TextEditor.GetLineLength方法代碼示例

本文整理匯總了C#中MonoDevelop.Ide.Gui.TextEditor.GetLineLength方法的典型用法代碼示例。如果您正苦於以下問題:C# TextEditor.GetLineLength方法的具體用法?C# TextEditor.GetLineLength怎麽用?C# TextEditor.GetLineLength使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在MonoDevelop.Ide.Gui.TextEditor的用法示例。


在下文中一共展示了TextEditor.GetLineLength方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: CreateWrapperClassForMember

        internal static string CreateWrapperClassForMember(IMember member, string fileName, TextEditor editor)
        {
            if (member == null)
                return "";
            StringBuilder result = new StringBuilder ();
            int startLine = member.Location.Line;
            int endLine   = member.Location.Line;
            if (!member.BodyRegion.IsEmpty)
                endLine = member.BodyRegion.End.Line + 1;
            string text;
            result.Append ("class " + member.DeclaringType.Name + " {");
            if (editor != null) {
                int col, maxLine;
                editor.GetLineColumnFromPosition (editor.TextLength - 1, out col, out maxLine);
                endLine = System.Math.Max (endLine, maxLine);

                int endPos = editor.GetPositionFromLineColumn (endLine, editor.GetLineLength (endLine));
                if (endPos < 0)
                    endPos = editor.TextLength;
                text = editor.GetText (editor.GetPositionFromLineColumn (startLine, 0), endPos);
            } else {
                Mono.TextEditor.Document doc = new Mono.TextEditor.Document ();
                doc.Text = File.ReadAllText (fileName) ?? "";
                startLine = Math.Min (doc.LineCount, Math.Max (1, startLine));
                endLine   = Math.Min (doc.LineCount, Math.Max (1, endLine));
                int startOffset = doc.LocationToOffset (startLine - 1, 0);
                text = doc.GetTextAt (startOffset, doc.LocationToOffset (endLine  - 1, doc.GetLine (endLine - 1).EditableLength) - startOffset);
            }
            if (!string.IsNullOrEmpty (text))
                result.Append (text);
            result.Append ("}");

            return result.ToString ();
        }
開發者ID:vasili,項目名稱:FSharpBinding,代碼行數:34,代碼來源:NRefactoryResolver.cs

示例2: AddRegisterDirective

		public void AddRegisterDirective (RegisterDirective directive, TextEditor editor, bool preserveCaretPosition)
		{
			var node = GetRegisterInsertionPointNode ();
			if (node == null)
				return;
			
			Doc.Info.RegisteredTags.Add (directive);
			
			var line = Math.Max (node.Location.EndLine, node.Location.BeginLine);
			var pos = editor.GetPositionFromLineColumn (line, editor.GetLineLength (line) + 1);
			if (pos < 0)
				return;
			
			editor.BeginAtomicUndo ();
			var oldCaret = editor.CursorPosition;
			
			var inserted = editor.InsertText (pos, editor.NewLine + directive.ToString ());
			if (preserveCaretPosition) {
				editor.CursorPosition = (pos < oldCaret)? oldCaret + inserted : oldCaret;
			}
			editor.EndAtomicUndo ();
		}
開發者ID:transformersprimeabcxyz,項目名稱:monodevelop-1,代碼行數:22,代碼來源:DocumentReferenceManager.cs


注:本文中的MonoDevelop.Ide.Gui.TextEditor.GetLineLength方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。