Browse Source

Add code completion for the "override" keyword.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@737 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
af069a1f42
  1. 5
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
  2. 35
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs
  3. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs
  4. 502
      src/AddIns/Misc/RegExpTk/Project/Resources/RegExpTkMainForm.xfrm
  5. 2
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  6. 3
      src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs
  7. 159
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/OverrideCompletionDataProvider.cs
  8. 40
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/TextCompletionDataProvider.cs
  9. 1
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs

5
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs

@ -253,8 +253,9 @@ namespace CSharpBinding @@ -253,8 +253,9 @@ namespace CSharpBinding
editor.ShowCompletionWindow(new CtrlSpaceCompletionDataProvider(ExpressionContext.Type), ' ');
return true;
case "override":
// TODO: Suggest list of virtual methods to override
return false;
if (IsInComment(editor)) return false;
editor.ShowCompletionWindow(new OverrideCompletionDataProvider(), ' ');
return true;
case "new":
return ShowNewCompletion(editor);
default:

35
src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs

@ -33,28 +33,8 @@ namespace VBNetBinding @@ -33,28 +33,8 @@ namespace VBNetBinding
{
VBNetBinding.Parser.ExpressionFinder ef = new VBNetBinding.Parser.ExpressionFinder();
int cursor = editor.ActiveTextAreaControl.Caret.Offset;
ExpressionContext context = null;
if (ch == ' ') {
if(CodeCompletionOptions.KeywordCompletionEnabled) {
switch (editor.GetWordBeforeCaret().Trim().ToLower()) {
case "synclock":
context = ExpressionContext.Default;
break;
case "using":
context = ExpressionContext.TypeDerivingFrom(ReflectionReturnType.Disposable.GetUnderlyingClass(), false);
break;
case "catch":
context = ExpressionContext.TypeDerivingFrom(ReflectionReturnType.Exception.GetUnderlyingClass(), false);
break;
}
}
if(context != null) {
editor.ShowCompletionWindow(new CtrlSpaceCompletionDataProvider(context), ch);
return true;
}
}
else if(ch == '(' && EnableMethodInsight && CodeCompletionOptions.InsightEnabled)
if(ch == '(' && EnableMethodInsight && CodeCompletionOptions.InsightEnabled)
{
editor.ShowInsightWindow(new MethodInsightDataProvider());
return true;
@ -178,7 +158,7 @@ namespace VBNetBinding @@ -178,7 +158,7 @@ namespace VBNetBinding
// TODO: Assistance writing Methods/Fields/Properties/Events:
// use public/static/etc. as keywords to display a list with other modifiers
// and possible return types.
switch (word.ToLower()) {
switch (word.ToLowerInvariant()) {
case "imports":
editor.ShowCompletionWindow(new CodeCompletionDataProvider(new ExpressionResult("Global", ExpressionContext.Importable)), ' ');
return true;
@ -194,6 +174,17 @@ namespace VBNetBinding @@ -194,6 +174,17 @@ namespace VBNetBinding
case "implements":
editor.ShowCompletionWindow(new CtrlSpaceCompletionDataProvider(ExpressionContext.Interface), ' ');
return true;
case "overrides":
editor.ShowCompletionWindow(new OverrideCompletionDataProvider(), ' ');
return true;
case "option":
editor.ShowCompletionWindow(new TextCompletionDataProvider("Explicit On",
"Explicit Off",
"Strict On",
"Strict Off",
"Compare Binary",
"Compare Text"), ' ');
return true;
default:
return base.HandleKeyword(editor, word);
}

4
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DynamicTreeDebuggerRow.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
// <file>
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
@ -43,6 +43,8 @@ namespace ICSharpCode.SharpDevelop.Services @@ -43,6 +43,8 @@ namespace ICSharpCode.SharpDevelop.Services
this[2].Text = variable.Name;
this[3].Text = variable.ToString();
if (!variable.MayHaveSubVariables)
this.ShowPlus = false;
this.ShowMinusWhileExpanded = true;
}
}

502
src/AddIns/Misc/RegExpTk/Project/Resources/RegExpTkMainForm.xfrm

@ -1,117 +1,119 @@ @@ -1,117 +1,119 @@
<Components version="1.0">
<System.Windows.Forms.Form>
<Name value="MainForm" />
<ShowInTaskbar value="False" />
<FormBorderStyle value="SizableToolWindow" />
<ShowInTaskbar value="False" />
<Text value="Regular expression toolkit" />
<ClientSize value="{Width=456, Height=526}" />
<Font value="[Font: Name=Tahoma, Size=11, Units=3, GdiCharSet=1, GdiVerticalFont=False]" />
<DockPadding value="" />
<Text value="Regular expression toolkit" />
<Controls>
<System.Windows.Forms.StatusBar>
<Name value="StatusBar" />
<TabIndex value="1" />
<ClientSize value="{Width=456, Height=16}" />
<Location value="{X=0,Y=510}" />
<TabIndex value="1" />
<Size value="{Width=456, Height=16}" />
</System.Windows.Forms.StatusBar>
<System.Windows.Forms.TabControl>
<Name value="ModesTabControl" />
<Anchor value="Top, Bottom, Left, Right" />
<TabIndex value="0" />
<Font value="[Font: Name=Microsoft Sans Serif, Size=8, Units=3, GdiCharSet=1, GdiVerticalFont=False]" />
<ClientSize value="{Width=440, Height=496}" />
<Location value="{X=8,Y=8}" />
<TabIndex value="0" />
<Anchor value="Top, Bottom, Left, Right" />
<Size value="{Width=440, Height=496}" />
<Font value="[Font: Name=Tahoma, Size=11, Units=3, GdiCharSet=1, GdiVerticalFont=False]" />
<TabPages>
<System.Windows.Forms.TabPage>
<Name value="TestingTabPage" />
<DockPadding value="" />
<Text value="${res:RegExpTk.MainDialog.TestTab}" />
<ClientSize value="{Width=432, Height=470}" />
<Location value="{X=4,Y=22}" />
<UseVisualStyleBackColor value="True" />
<Size value="{Width=432, Height=470}" />
<Controls>
<System.Windows.Forms.GroupBox>
<Name value="groupBox2" />
<TabIndex value="6" />
<Location value="{X=8,Y=160}" />
<UseCompatibleTextRendering value="True" />
<Anchor value="Top, Left, Right" />
<ClientSize value="{Width=416, Height=120}" />
<Size value="{Width=416, Height=120}" />
<TabIndex value="6" />
<Controls>
<System.Windows.Forms.CheckBox>
<Name value="ReplaceCheckBox" />
<Location value="{X=8,Y=0}" />
<ClientSize value="{Width=208, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.Replace}" />
<TabIndex value="6" />
<Size value="{Width=208, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Label>
<Name value="ReplacementStringLabel" />
<Location value="{X=16,Y=24}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Replacement}" />
<Size value="{Width=232, Height=16}" />
<TabIndex value="7" />
<ClientSize value="{Width=232, Height=16}" />
<Location value="{X=16,Y=24}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.TextBox>
<Name value="ReplacementStringTextBox" />
<Anchor value="Top, Left, Right" />
<TabIndex value="8" />
<Size value="{Width=384, Height=21}" />
<Location value="{X=16,Y=40}" />
<ClientSize value="{Width=380, Height=16}" />
<Text value="" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="ReplaceResultLabel" />
<Location value="{X=16,Y=69}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.ReplaceResult}" />
<Size value="{Width=224, Height=16}" />
<TabIndex value="9" />
<ClientSize value="{Width=224, Height=16}" />
<Location value="{X=16,Y=69}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.TextBox>
<Name value="ReplaceResultTextBox" />
<Anchor value="Top, Left, Right" />
<TabIndex value="10" />
<Size value="{Width=384, Height=21}" />
<Location value="{X=16,Y=88}" />
<ClientSize value="{Width=380, Height=16}" />
<Text value="" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
</Controls>
</System.Windows.Forms.GroupBox>
<System.Windows.Forms.TextBox>
<Name value="RegularExpressionTextBox" />
<Anchor value="Top, Left, Right" />
<ClientSize value="{Width=380, Height=18}" />
<Font value="[Font: Name=Courier New, Size=10, Units=3, GdiCharSet=1, GdiVerticalFont=False]" />
<Location value="{X=8,Y=24}" />
<Text value="" />
<TabIndex value="2" />
<Font value="[Font: Name=Tahoma, Size=11, Units=3, GdiCharSet=1, GdiVerticalFont=False]" />
<Size value="{Width=384, Height=21}" />
<Location value="{X=8,Y=24}" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Button>
<Name value="quickInsertButton" />
<Location value="{X=400,Y=24}" />
<ClientSize value="{Width=24, Height=22}" />
<UseCompatibleTextRendering value="True" />
<Text value="&gt;" />
<Anchor value="Top, Right" />
<Size value="{Width=24, Height=22}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<TabIndex value="3" />
</System.Windows.Forms.Button>
<System.Windows.Forms.RichTextBox>
<Name value="InputTextBox" />
<HideSelection value="False" />
<Anchor value="Top, Left, Right" />
<ClientSize value="{Width=363, Height=68}" />
<ScrollBars value="ForcedVertical" />
<TabIndex value="5" />
<Size value="{Width=367, Height=72}" />
<Location value="{X=8,Y=80}" />
<HideSelection value="False" />
<Text value="" />
<TabIndex value="5" />
<ScrollBars value="ForcedVertical" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.RichTextBox>
<System.Windows.Forms.ListView>
<Name value="GroupListView" />
<GridLines value="True" />
<Anchor value="Top, Bottom, Left, Right" />
<Size value="{Width=416, Height=136}" />
<TabIndex value="14" />
<View value="Details" />
<FullRowSelect value="True" />
<Location value="{X=8,Y=320}" />
<ClientSize value="{Width=412, Height=132}" />
<Anchor value="Top, Bottom, Left, Right" />
<GridLines value="True" />
<View value="Details" />
<HideSelection value="False" />
<Location value="{X=8,Y=320}" />
<Columns>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader" />
@ -130,201 +132,229 @@ @@ -130,201 +132,229 @@
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader49" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
<Name value="columnHeader49" />
</System.Windows.Forms.ColumnHeader>
</Columns>
</System.Windows.Forms.ListView>
<System.Windows.Forms.Button>
<Name value="OkButton" />
<Location value="{X=348,Y=288}" />
<ClientSize value="{Width=75, Height=24}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:Global.OKButtonText}" />
<Anchor value="Top, Right" />
<Size value="{Width=75, Height=24}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<TabIndex value="13" />
</System.Windows.Forms.Button>
<System.Windows.Forms.CheckBox>
<Name value="IgnoreCaseCheckBox" />
<Location value="{X=128,Y=292}" />
<ClientSize value="{Width=200, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.IgnoreCase}" />
<TabIndex value="12" />
<Size value="{Width=200, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="MultilineCheckBox" />
<Location value="{X=8,Y=292}" />
<ClientSize value="{Width=112, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.Multiline}" />
<TabIndex value="11" />
<Size value="{Width=112, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Label>
<Name value="InputLabel" />
<Location value="{X=8,Y=64}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Input}" />
<Size value="{Width=200, Height=16}" />
<TabIndex value="4" />
<ClientSize value="{Width=200, Height=16}" />
<Location value="{X=8,Y=64}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.Label>
<Name value="RegularExpressionLabel" />
<Location value="{X=8,Y=8}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Regex}" />
<Size value="{Width=184, Height=16}" />
<TabIndex value="1" />
<ClientSize value="{Width=184, Height=16}" />
<Location value="{X=8,Y=8}" />
</System.Windows.Forms.Label>
</Controls>
</System.Windows.Forms.TabPage>
<System.Windows.Forms.TabPage>
<Name value="CompileTabPage" />
<DockPadding value="" />
<Text value="${res:RegExpTk.MainDialog.CompileTab}" />
<ClientSize value="{Width=432, Height=470}" />
<Location value="{X=4,Y=22}" />
<UseVisualStyleBackColor value="True" />
<Size value="{Width=432, Height=470}" />
<Controls>
<System.Windows.Forms.GroupBox>
<Name value="groupBox" />
<TabIndex value="20" />
<Location value="{X=8,Y=176}" />
<UseCompatibleTextRendering value="True" />
<Anchor value="Top, Left, Right" />
<ClientSize value="{Width=416, Height=8}" />
<Size value="{Width=416, Height=8}" />
<TabIndex value="20" />
</System.Windows.Forms.GroupBox>
<System.Windows.Forms.Splitter>
<Name value="splitter" />
<TabIndex value="19" />
<ClientSize value="{Width=3, Height=470}" />
<Location value="{X=0,Y=0}" />
<TabIndex value="19" />
<Size value="{Width=3, Height=470}" />
</System.Windows.Forms.Splitter>
<System.Windows.Forms.CheckBox>
<Name value="PublibVisibleCompileCheckBox" />
<Location value="{X=8,Y=152}" />
<ClientSize value="{Width=248, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.PublicVisible}" />
<TabIndex value="24" />
<Size value="{Width=248, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Button>
<Name value="CreateAssemblyFileCompileButton" />
<Location value="{X=312,Y=432}" />
<ClientSize value="{Width=112, Height=24}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.CreateAssembly}" />
<Anchor value="Bottom, Right" />
<Size value="{Width=112, Height=24}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<TabIndex value="32" />
</System.Windows.Forms.Button>
<System.Windows.Forms.Label>
<Name value="ClassNameCompileLabel" />
<Location value="{X=200,Y=104}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Classname}" />
<Anchor value="Top" />
<Size value="{Width=216, Height=16}" />
<TabIndex value="22" />
<ClientSize value="{Width=216, Height=16}" />
<Location value="{X=200,Y=104}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.Label>
<Name value="NamespaceCompileLabel" />
<Location value="{X=8,Y=104}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Namespace}" />
<Size value="{Width=176, Height=16}" />
<TabIndex value="20" />
<ClientSize value="{Width=176, Height=16}" />
<Location value="{X=8,Y=104}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.TextBox>
<Name value="ClassNameCompileTextBox" />
<Anchor value="Top, Right" />
<TabIndex value="23" />
<Size value="{Width=216, Height=21}" />
<Location value="{X=200,Y=120}" />
<ClientSize value="{Width=212, Height=16}" />
<Text value="" />
<Anchor value="Top, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.TextBox>
<Name value="NamespaceCompileTextBox" />
<Anchor value="Top, Left, Right" />
<TabIndex value="21" />
<Size value="{Width=184, Height=21}" />
<Location value="{X=8,Y=120}" />
<ClientSize value="{Width=180, Height=16}" />
<Text value="" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.CheckBox>
<Name value="MultilineCompileCheckBox" />
<Location value="{X=224,Y=232}" />
<ClientSize value="{Width=152, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.Multiline}" />
<TabIndex value="30" />
<Size value="{Width=152, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="RightToLeftCompileCheckBox" />
<Location value="{X=224,Y=264}" />
<ClientSize value="{Width=160, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.RightToLeft}" />
<TabIndex value="31" />
<Size value="{Width=160, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="EcmaScriptCompileCheckBox" />
<Location value="{X=224,Y=200}" />
<ClientSize value="{Width=168, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.ECMA}" />
<TabIndex value="29" />
<Size value="{Width=168, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="SingleLineCompileCheckBox" />
<Location value="{X=8,Y=232}" />
<ClientSize value="{Width=160, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.Singleline}" />
<TabIndex value="26" />
<Size value="{Width=160, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="ExplicitCaptureCompileCheckBox" />
<Location value="{X=8,Y=296}" />
<ClientSize value="{Width=160, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.ExplicitCapture}" />
<TabIndex value="28" />
<Size value="{Width=160, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="IgnoreWhitespaceCompileCheckBox" />
<Location value="{X=8,Y=264}" />
<ClientSize value="{Width=160, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.IgnoreWhitespace}" />
<TabIndex value="27" />
<Size value="{Width=160, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="IgnoreCaseCompileCheckBox" />
<Location value="{X=8,Y=200}" />
<ClientSize value="{Width=208, Height=16}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<Text value="${res:RegExpTk.MainDialog.IgnoreCase}" />
<TabIndex value="25" />
<Size value="{Width=208, Height=16}" />
<UseCompatibleTextRendering value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Button>
<Name value="ChooseAssemblyFileCompileButton" />
<Location value="{X=392,Y=72}" />
<ClientSize value="{Width=24, Height=20}" />
<UseCompatibleTextRendering value="True" />
<Text value="..." />
<Anchor value="Top, Right" />
<Size value="{Width=24, Height=20}" />
<FlatAppearance value="System.Windows.Forms.FlatButtonAppearance" />
<TabIndex value="19" />
</System.Windows.Forms.Button>
<System.Windows.Forms.TextBox>
<Name value="AssemblyFileCompileFileTextBox" />
<Anchor value="Top, Left, Right" />
<TabIndex value="18" />
<Size value="{Width=368, Height=21}" />
<Location value="{X=8,Y=72}" />
<ClientSize value="{Width=364, Height=16}" />
<Text value="" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="AssemblyFileCompileLabel" />
<Location value="{X=8,Y=56}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Assembly}" />
<Size value="{Width=208, Height=16}" />
<TabIndex value="17" />
<ClientSize value="{Width=208, Height=16}" />
<Location value="{X=8,Y=56}" />
</System.Windows.Forms.Label>
<System.Windows.Forms.TextBox>
<Name value="RegularExpressionCompileTextBox" />
<Anchor value="Top, Left, Right" />
<TabIndex value="16" />
<Size value="{Width=408, Height=21}" />
<Location value="{X=8,Y=24}" />
<ClientSize value="{Width=404, Height=16}" />
<Text value="" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="RegularExpressionCompileLabel" />
<Location value="{X=8,Y=8}" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:RegExpTk.MainDialog.Regex}" />
<Size value="{Width=176, Height=16}" />
<TabIndex value="15" />
<ClientSize value="{Width=176, Height=16}" />
<Location value="{X=8,Y=8}" />
</System.Windows.Forms.Label>
</Controls>
</System.Windows.Forms.TabPage>
@ -332,176 +362,16 @@ @@ -332,176 +362,16 @@
</System.Windows.Forms.TabControl>
</Controls>
</System.Windows.Forms.Form>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader39" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader12" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader13" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader10" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader11" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader16" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader17" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader14" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader15" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader18" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader19" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader65" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader64" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader67" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader66" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader61" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader63" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader62" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader69" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader68" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader7" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader78" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader52" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader74" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader75" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader76" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader77" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader70" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader71" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader72" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader79" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader60" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader47" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader46" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader45" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader44" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader43" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader3" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader2" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader40" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader6" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader5" />
<Name value="columnHeader3" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
@ -509,143 +379,7 @@ @@ -509,143 +379,7 @@
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader49" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader9" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader8" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader73" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader56" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader57" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader54" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader55" />
<Text value="String" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader50" />
<Text value="Length" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader51" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader58" />
<Text value="Start" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader21" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader20" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader23" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader22" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader25" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader24" />
<Text value="${res:RegExpTk.MainDialog.StartColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader27" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader26" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader29" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader28" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader42" />
<Text value="End" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader48" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader31" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader32" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader33" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader34" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader35" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader36" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader37" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader38" />
<Text value="${res:RegExpTk.MainDialog.EndColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader41" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader53" />
<Text value="${res:RegExpTk.MainDialog.LengthColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader59" />
<Text value="${res:RegExpTk.MainDialog.GroupsColumn}" />
</System.Windows.Forms.ColumnHeader>
<System.Windows.Forms.ColumnHeader>
<Name value="columnHeader30" />
<Text value="${res:RegExpTk.MainDialog.StringColumn}" />
<Name value="columnHeader49" />
</System.Windows.Forms.ColumnHeader>
</Components>

2
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -721,6 +721,8 @@ @@ -721,6 +721,8 @@
<Compile Include="Src\Gui\TreeGrid\VerticalScrollContainer.cs" />
<Compile Include="Src\Services\Debugger\DebuggerGridControl.cs" />
<Compile Include="Src\Gui\Pads\ProjectBrowser\NodeBuilder\NodeBuilders.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\TextCompletionDataProvider.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\OverrideCompletionDataProvider.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj">

3
src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs

@ -291,7 +291,8 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -291,7 +291,8 @@ namespace ICSharpCode.SharpDevelop.Refactoring
block.AddChild(new StatementExpression(new AssignmentExpression(left, AssignmentOperatorType.Assign, right)));
property.SetRegion = new PropertySetRegion(block, null);
}
property.Modifier = Modifier.Public;
property.Modifier = Modifier.Public | (property.Modifier & Modifier.Static);
InsertCodeAfter(field, document, property);
}

159
src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/OverrideCompletionDataProvider.cs

@ -0,0 +1,159 @@ @@ -0,0 +1,159 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Collections.Generic;
using System.Diagnostics;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.TextEditor.Gui.CompletionWindow;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.NRefactory.Parser.AST;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
{
public class OverrideCompletionDataProvider : AbstractCompletionDataProvider
{
public override ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
{
ParseInformation parseInfo = ParserService.GetParseInformation(fileName);
if (parseInfo == null) return null;
IClass c = parseInfo.MostRecentCompilationUnit.GetInnermostClass(textArea.Caret.Line, textArea.Caret.Column);
if (c == null) return null;
List<ICompletionData> result = new List<ICompletionData>();
foreach (IMethod m in c.DefaultReturnType.GetMethods()) {
if (m.IsPublic || m.IsProtected) {
if (m.IsAbstract || m.IsVirtual || m.IsOverride) {
if (!m.IsSealed && !m.IsConst) {
if (m.DeclaringType.FullyQualifiedName != c.FullyQualifiedName) {
result.Add(new OverrideCompletionData(m));
}
}
}
}
}
foreach (IProperty m in c.DefaultReturnType.GetProperties()) {
if (m.IsPublic || m.IsProtected) {
if (m.IsAbstract || m.IsVirtual || m.IsOverride) {
if (!m.IsSealed && !m.IsConst) {
if (m.DeclaringType.FullyQualifiedName != c.FullyQualifiedName) {
result.Add(new OverrideCompletionData(m));
}
}
}
}
}
return result.ToArray();
}
}
public class OverrideCompletionData : DefaultCompletionData
{
IMember member;
static string GetName(IMethod method, ConversionFlags flags)
{
AmbienceService.CurrentAmbience.ConversionFlags = flags | ConversionFlags.ShowParameterNames;
return AmbienceService.CurrentAmbience.Convert(method);
}
public OverrideCompletionData(IMethod method)
: base(GetName(method, ConversionFlags.None),
"override " + GetName(method, ConversionFlags.ShowReturnType
| ConversionFlags.ShowAccessibility)
+ "\n\n" + method.Documentation,
ClassBrowserIconService.GetIcon(method))
{
this.member = method;
}
public OverrideCompletionData(IProperty property)
: base(property.Name, "override " + property.Name + "\n\n" + property.Documentation,
ClassBrowserIconService.GetIcon(property))
{
this.member = property;
}
public override bool InsertAction(TextArea textArea, char ch)
{
ClassFinder context = new ClassFinder(textArea.MotherTextEditorControl.FileName,
textArea.Caret.Line + 1, textArea.Caret.Column + 1);
int caretPosition = textArea.Caret.Offset;
LineSegment line = textArea.Document.GetLineSegment(textArea.Caret.Line);
string lineText = textArea.Document.GetText(line.Offset, caretPosition - line.Offset);
foreach (char c in lineText) {
if (!char.IsWhiteSpace(c) && !char.IsLetterOrDigit(c)) {
return base.InsertAction(textArea, ch);
}
}
string indentation = lineText.Substring(lineText.Length - lineText.TrimStart().Length);
CodeGenerator codeGen = ParserService.CurrentProjectContent.Language.CodeGenerator;
string text = codeGen.GenerateCode(GetOverrideAST(member, context), indentation);
text = text.TrimEnd(); // remove newline from end
textArea.Document.Replace(line.Offset, caretPosition - line.Offset, text);
int endPos = line.Offset + text.Length;
int endLine = textArea.Document.GetLineNumberForOffset(endPos);
line = textArea.Document.GetLineSegment(endLine);
textArea.MotherTextAreaControl.JumpTo(endLine, endPos - line.Offset);
textArea.Refresh();
return true;
}
AttributedNode GetOverrideAST(IMember member, ClassFinder targetContext)
{
AttributedNode node = CodeGenerator.ConvertMember(member, targetContext);
node.Modifier &= ~(Modifier.Virtual | Modifier.Abstract);
node.Modifier |= Modifier.Override;
MethodDeclaration method = node as MethodDeclaration;
if (method != null) {
method.Body.Children.Clear();
method.Body.AddChild(new ReturnStatement(CreateMethodCall(method)));
}
PropertyDeclaration property = node as PropertyDeclaration;
if (property != null) {
Expression field = new FieldReferenceExpression(new BaseReferenceExpression(),
property.Name);
if (!property.GetRegion.Block.IsNull) {
property.GetRegion.Block.Children.Clear();
property.GetRegion.Block.AddChild(new ReturnStatement(field));
}
if (!property.SetRegion.Block.IsNull) {
property.SetRegion.Block.Children.Clear();
Expression expr = new AssignmentExpression(field,
AssignmentOperatorType.Assign,
new IdentifierExpression("value"));
property.SetRegion.Block.AddChild(new StatementExpression(expr));
}
}
return node;
}
static InvocationExpression CreateMethodCall(MethodDeclaration method)
{
Expression methodName = new FieldReferenceExpression(new BaseReferenceExpression(),
method.Name);
InvocationExpression ie = new InvocationExpression(methodName, null);
foreach (ParameterDeclarationExpression param in method.Parameters) {
Expression expr = new IdentifierExpression(param.ParameterName);
if (param.ParamModifier == ParamModifier.Ref) {
expr = new DirectionExpression(FieldDirection.Ref, expr);
} else if (param.ParamModifier == ParamModifier.Out) {
expr = new DirectionExpression(FieldDirection.Out, expr);
}
ie.Arguments.Add(expr);
}
return ie;
}
}
}

40
src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/TextCompletionDataProvider.cs

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Diagnostics;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.TextEditor.Gui.CompletionWindow;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
{
/// <summary>
/// Data provider for code completion.
/// </summary>
public class TextCompletionDataProvider : AbstractCompletionDataProvider
{
string[] texts;
public TextCompletionDataProvider(params string[] texts)
{
this.texts = texts;
}
public override ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
{
ICompletionData[] data = new ICompletionData[texts.Length];
for (int i = 0; i < data.Length; i++) {
data[i] = new DefaultCompletionData(texts[i], null, ClassBrowserIconService.GotoArrowIndex);
}
return data;
}
}
}

1
src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs

@ -450,6 +450,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor @@ -450,6 +450,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
textAreaControl.Document.FoldingManager.UpdateFoldings(TitleName, parseInfo);
UpdateClassMemberBookmarks(parseInfo);
textAreaControl.ActiveTextAreaControl.TextArea.Refresh(textAreaControl.ActiveTextAreaControl.TextArea.FoldMargin);
textAreaControl.ActiveTextAreaControl.TextArea.Refresh(textAreaControl.ActiveTextAreaControl.TextArea.IconBarMargin);
} catch (Exception ex) {
MessageService.ShowError(ex);
}

Loading…
Cancel
Save