Localize the tooltips for the match case button, the match word button and the use regular expression button.
Currently, the tooltips of the buttons are using hardcoded strings in English.
To translate the tooltips, you can get the corresponding buttons on load of the syntax editor control and replace their tooltips manually.
private void syntaxEditor_Loaded(object sender, RoutedEventArgs e)
{
var buttons = this.syntaxEditor.ChildrenOfType<RadToggleButton>();
var matchCaseButton = buttons.FirstOrDefault(x => x.Name == "PART_MatchCaseButton");
var matchWordButton = buttons.FirstOrDefault(x => x.Name == "PART_MatchWordButton");
var useRegularExpressionsButton = buttons.FirstOrDefault(x => x.Name == "PART_UseRegularExpressionsButton");
matchCaseButton.ToolTip = CreateToolTip("SyntaxEditor_MatchCase"); // these are custom localization resource keys that should be manually defined by the developer that uses this solution
matchWordButton.ToolTip = CreateToolTip("SyntaxEditor_MatchWord");
useRegularExpressionsButton.ToolTip = CreateToolTip("SyntaxEditor_UseRegularExpressions");
}
private static ToolTip CreateToolTip(string resourceKey)
{
var toolTip = new ToolTip();
toolTip.Content = LocalizationManager.Manager.GetStringOverride(resourceKey);
return toolTip;
}
Single line folding regions is falsely recognized (by default it should be avoided) and messes up with outer regions.
For example
1 [
2 [ inner region]
3]
There should be no folding button on the inner line. Collapsing line 1 does not collapse 3 but only 1 and 2 which is wrong.
When using XML Tagger, XML Folding tagger with XML text document, the folding tagger freezes the UI while typing.
Generally in Visual Studio, the XML Folding tagger is processed in background while in SyntaxEditor this is done on the UI thread.
Several optimization options might be applied:
- process xml folding in background
- process folding similar to process search while typing - a period of inactivity time is needed to invalidate the search / folding
- caching - if the edit does not change the folding configuration, no processing and redrawing of folding is required
- some parts for extracting tooltip content and folded content should be optimized
When using LineHighlightTagger a NullReferenceException is thrown. To workaround this exception, you can add a custom TextFormatDefinition object to the TextFormatDefinitions collection of the RadSyntaxEditor.
this.syntaxEditor.TextFormatDefinitions.AddLast(LineHighlightTagger.LineHighlightFormatDefinition, new TextFormatDefinition(new Telerik.Windows.Controls.SyntaxEditor.UI.Pen(new SolidColorBrush(Colors.Gray), new Thickness(1))));
We want to have the option to replace texts only in a selected part of the document.
Use Notepad++ as a reference to check this feature.