📄 searchreplaceutilities.cs
字号:
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version value="$version"/>
// </file>
using System;
using System.Collections;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.TextEditor;
namespace ICSharpCode.TextEditor.Document
{
public sealed class SearchReplaceUtilities
{
public static bool IsTextAreaSelected {
get {
return WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null &&
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent is ITextEditorControlProvider;
}
}
public static bool IsWholeWordAt(ITextBufferStrategy document, int offset, int length)
{
return (offset - 1 < 0 || Char.IsWhiteSpace(document.GetCharAt(offset - 1))) &&
(offset + length + 1 >= document.Length || Char.IsWhiteSpace(document.GetCharAt(offset + length)));
}
public static int CalcCurrentOffset(IDocument document)
{
// TODO:
// int endOffset = document.Caret.Offset % document.TextLength;
// return endOffset;
return 0;
}
public static ISearchStrategy CreateSearchStrategy(SearchStrategyType type)
{
switch (type) {
case SearchStrategyType.None:
return null;
case SearchStrategyType.Normal:
return new BruteForceSearchStrategy(); // new KMPSearchStrategy();
case SearchStrategyType.RegEx:
return new RegExSearchStrategy();
case SearchStrategyType.Wildcard:
return new WildcardSearchStrategy();
default:
throw new System.NotImplementedException("CreateSearchStrategy for type " + type);
}
}
public static IDocumentIterator CreateDocumentIterator(DocumentIteratorType type)
{
switch (type) {
case DocumentIteratorType.None:
return null;
case DocumentIteratorType.CurrentDocument:
return new CurrentDocumentIterator();
case DocumentIteratorType.Directory:
return new DirectoryDocumentIterator(SearchReplaceInFilesManager.SearchOptions.SearchDirectory,
SearchReplaceInFilesManager.SearchOptions.FileMask,
SearchReplaceInFilesManager.SearchOptions.SearchSubdirectories);
case DocumentIteratorType.AllOpenFiles:
return new AllOpenDocumentIterator();
case DocumentIteratorType.WholeCombine:
return new WholeProjectDocumentIterator();
default:
throw new System.NotImplementedException("CreateDocumentIterator for type " + type);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -