Opened 4 years ago

Closed 3 years ago

#2077 closed task (done)

Update SharpDevelop to latest version (4.3)

Reported by: gkronber Owned by: jkarder
Priority: medium Milestone: HeuristicLab 3.3.11
Component: ExtLibs Version: 3.3.10
Keywords: Cc:

Description


Change History (50)

comment:1 Changed 4 years ago by ascheibe

As far as I know SharpDevelop upgraded to WPF with version 4. Even though you can host WPF controls in WinForms (http://stackoverflow.com/questions/5002621/wpf-controls-in-winforms), this could be an issue on Mono.

comment:2 Changed 4 years ago by gkronber

This is correct. In fact SharpDevelop.TextEditor has been replaced by the WPF control SharpDevelop.AvalonEdit and is not available in the new version anymore. Since we are directly using SharpDevelop.TextEditor in HeuristicLab.CodeEditor and in turn in the ProgrammableOperatorView it would be necessary to rewrite the control to work with newer versions of SharpDevelop.

For the GPDL editor (#2026) I'm already using the newer SharpDevelop.AvalonEdit control because it is easier to adjust to custom languages.

comment:3 Changed 4 years ago by abeham

Currently we're using a modified version of SharpDevelop.TextEditor where I removed all refences to log4net. I found it was not really an important part in those SD plugins that we use and easy to remove from their code.

See #2012 for details.

Last edited 4 years ago by abeham (previous) (diff)

comment:4 Changed 4 years ago by gkronber

After discussion with Erik I'm not sure that Mono-compatibility is a problem. After all SharpDevelop is a development environment for Mono also for Linux systems. Probably, the AvalonEdit component also works on Mono.

comment:5 Changed 4 years ago by ascheibe

No, SharpDevelop only runs on the Windows platform (see [0]: Supported operating systems: Windows XP SP2 and later (eg Windows Server 2008 R2 and Windows 7)). Actually the reason, why there is a own Mono IDE [1], is that it was not possible to port SharpDevelop (at least not the UI) to Mono/Linux.
There is some WPF support in Mono, but only the parts that were needed for running simple Silverlight applications. I don't know if this is enough to run the AvalonEdit, but I will try it out as soon as it is in the GPDL branch.

[0] http://www.icsharpcode.net/OpenSource/SD/Download/#SharpDevelop4x
[1] http://monodevelop.com/

comment:6 Changed 3 years ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from new to assigned

comment:7 Changed 3 years ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.11
  • Owner changed from gkronber to jkarder

jkarder has already investigated updating to the latest SharpDevelop/AvalonEdit version. Also, ticket #2256 is probably a duplicate.

comment:8 Changed 3 years ago by jkarder

  • Status changed from assigned to accepted

comment:9 Changed 3 years ago by jkarder

  • Version changed from 3.3.8 to 3.3.10

comment:10 Changed 3 years ago by ascheibe

Also implement review comments from #2262:

  • I'll leave this as it is now. I think there's no need to hide the cursor. While the script is running there is no indication that the code cannot be changed (grey background) and the cursor should be hidden.
  • Individual error markups are now only deleted if the marked section is edited. All error markups are deleted when the script is compiled and will be recreated as needed. the error markups of codeEditor.ShowCompileErrors can be shown again when double clicking on the error list
Last edited 3 years ago by jkarder (previous) (diff)

comment:11 follow-up: Changed 3 years ago by abeham

If possible, please make sure that the code can be at least selected, copied, and scrolled while being in readonly mode.

comment:12 Changed 3 years ago by jkarder

r11700: created branch and added first version

comment:13 Changed 3 years ago by jkarder

r11701: added accidentally removed ProgrammableOperatorView.Designer.cs

comment:14 Changed 3 years ago by jkarder

r11707: fixed project properties for all configurations and platforms

comment:15 Changed 3 years ago by jkarder

r11722:

  • added completion image for templates
  • cleaned CSharpCodeCompletionDataFactory
  • sorted foldings by start offset

comment:16 Changed 3 years ago by jkarder

  • Version changed from 3.3.10 to branch

r11738:

  • set CodeEditor.AutoScaleMode to AutoScaleMode.Inherit
  • only generate overload information if completion data is available

comment:17 Changed 3 years ago by jkarder

r11741: added <Alt> + <Up> and <Alt> + <Down> keystrokes to move lines

comment:18 Changed 3 years ago by jkarder

r11743: improved line moving

comment:19 Changed 3 years ago by jkarder

r11765:

  • added checks for InvokeRequired
  • minor code changes

comment:20 Changed 3 years ago by jkarder

r11785:

  • added <Ctrl> + <G> keystroke to display a go to line dialog
  • minor code changes

comment:21 Changed 3 years ago by jkarder

r11800:

  • added background parser to provide code completion for the scripted code
  • minor code changes

comment:22 Changed 3 years ago by jkarder

r11802: improved code completion

comment:23 Changed 3 years ago by jkarder

r11804:

  • added fancy xml documentation
  • fixed configurations and plattforms

comment:24 Changed 3 years ago by jkarder

r11805: removed source control bindings

comment:25 Changed 3 years ago by jkarder

r11807: merged r11700:11806 back to trunk

comment:26 Changed 3 years ago by jkarder

  • Version changed from branch to 3.3.10

r11808: deleted CodeEditor branch

comment:27 Changed 3 years ago by jkarder

r11809: added missing project dependency

comment:28 Changed 3 years ago by jkarder

r11810: added plugin dependency and license file

comment:29 Changed 3 years ago by jkarder

r11811: deleted HeuristicLab.CodeEditor-3.3 and HeuristicLab.SharpDevelop-3.2.1 projects

comment:30 Changed 3 years ago by jkarder

r11816:

  • added parsing helpers
  • minor code changes

comment:31 Changed 3 years ago by jkarder

r11819:

  • added temporary fix to avoid crash trough code completion
  • fixed updating of compilation succeeded/failed messages
  • added Keys and Values properties to the Variables class (again)

comment:32 Changed 3 years ago by jkarder

r11822: do not include internal members

comment:33 Changed 3 years ago by jkarder

r11825:

  • do not offer completion for inaccessible protected members
  • fixed go to line logic
  • fixed comment in CSharpScriptTemplate

comment:34 Changed 3 years ago by jkarder

r11834: set scriptThread to null when the script completes execution

comment:35 Changed 3 years ago by jkarder

r11835: changed error and warning markup handling

comment:36 in reply to: ↑ 11 Changed 3 years ago by jkarder

That is possible.

Replying to abeham:

If possible, please make sure that the code can be at least selected, copied, and scrolled while being in readonly mode.

comment:37 Changed 3 years ago by jkarder

r11836:

  • changed error and warning markup handling
  • minor code changes

comment:38 Changed 3 years ago by jkarder

  • Owner changed from jkarder to ascheibe
  • Status changed from accepted to reviewing

comment:39 Changed 3 years ago by ascheibe

CodeEditor.cs:

  • The property languageFeatures is assigned but never used. If it is really not used then please remove it.
  • There is an empty line at the #endregion of TextMarkerService region that can be removed

CSharpCodeFoldingStrategy:

  • Why does the folding strategy handle assemblies?
  • Is projectContent needed anymore? Please remove, if not.

ICodeCompletionStrategy.cs:

  • Please rename RunBackgroundParser() to a more generic method name, e.g.: Initialize()

ImportCompletionData.cs

  • Please check if it is actually created because it seems to not be used.
  • I have to leave it as it is for now. Please check if you can remove the IParameterDataProvider interface from CSharpOverloadProvider
Last edited 3 years ago by jkarder (previous) (diff)

comment:40 Changed 3 years ago by ascheibe

  • Owner changed from ascheibe to jkarder
  • Status changed from reviewing to assigned

comment:41 Changed 3 years ago by jkarder

  • Status changed from assigned to accepted

comment:42 Changed 3 years ago by jkarder

r11933: applied changes suggested by ascheibe in comment:39:ticket:2077

comment:43 Changed 3 years ago by jkarder

  • Owner changed from jkarder to ascheibe
  • Status changed from accepted to reviewing

comment:44 Changed 3 years ago by ascheibe

  • Owner changed from ascheibe to jkarder
  • Status changed from reviewing to readytorelease

Looks good, thanks.

comment:45 Changed 3 years ago by ascheibe

  • Status changed from readytorelease to assigned

I just found a bug: If you drap the view out of the HL window it throws an exception.

comment:46 Changed 3 years ago by jkarder

  • Status changed from assigned to accepted

comment:47 Changed 3 years ago by jkarder

r11936: the background parser can only be started once

comment:48 Changed 3 years ago by jkarder

  • Owner changed from jkarder to ascheibe
  • Status changed from accepted to reviewing

comment:49 Changed 3 years ago by ascheibe

  • Owner changed from ascheibe to jkarder
  • Status changed from reviewing to readytorelease

comment:50 Changed 3 years ago by jkarder

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.