From 16c24c10ec772b02ce1a0386b4b756c3a1b93560 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Thu, 5 Jun 2025 23:51:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E7=94=A8=E5=A4=9A=E9=A1=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=BC=80=E5=85=B3=EF=BC=8C=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=E6=96=B9=E6=B3=95=E5=8F=82=E6=95=B0=E4=B8=8E=E5=81=A5?= =?UTF-8?q?=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本次提交主要包括: - 优化查找相关方法(FindBySentence、FindTextInRange),新增 prevOffset 和 findStart 参数,支持从指定偏移量和位置开始查找,提升查找灵活性与准确性(DocumentUtil.cs) --- .vs/AIProofread/v17/.suo | Bin 3149824 -> 3149824 bytes AIProofread/core/AppModule.cs | 8 ++++---- AIProofread/core/DocumentUtil.cs | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo index ee4c362cef8350c6018eaf1a77791191229d77d3..3c79b69099bbffb88335ba430c4c41e1eec008f1 100644 GIT binary patch delta 20341 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 delta 12139 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 NyuFG~_3{qo{{mhtO>_VN diff --git a/AIProofread/core/AppModule.cs b/AIProofread/core/AppModule.cs index 5da88c1..072ecd2 100644 --- a/AIProofread/core/AppModule.cs +++ b/AIProofread/core/AppModule.cs @@ -13,7 +13,7 @@ /// /// 是否启用常识性检测 /// - public const bool ENABLE_COMMONSENSE_CHECK = false; + public const bool ENABLE_COMMONSENSE_CHECK = true; /// /// 设置功能 /// @@ -34,9 +34,9 @@ public const bool ENABLE_SAVE_CACHE = true; public const bool ENABLE_LOAD_CACHE = true; - public const bool ENABLE_CUSTOMER_SERVICE = false; - public const bool ENABLE_UPGRADE = false; - public const bool ENABLE_HELP = false; + public const bool ENABLE_CUSTOMER_SERVICE = true; + public const bool ENABLE_UPGRADE = true; + public const bool ENABLE_HELP = true; } } diff --git a/AIProofread/core/DocumentUtil.cs b/AIProofread/core/DocumentUtil.cs index fbdea9a..24fe5a5 100644 --- a/AIProofread/core/DocumentUtil.cs +++ b/AIProofread/core/DocumentUtil.cs @@ -315,7 +315,7 @@ namespace AIProofread return bookmark; } - private static Range FindBySentence(Range paraRange, CorrectContext c, CorrectItem item, Microsoft.Office.Interop.Word.Document document) + private static Range FindBySentence(Range paraRange, CorrectContext c, CorrectItem item, Microsoft.Office.Interop.Word.Document document, int prevOffset) { try { @@ -377,9 +377,9 @@ namespace AIProofread { return range1; } - return null; + // 执行查找 - //return FindTextInRange(sentence, item.Origin); + return FindTextInRange(sentence, item.Origin,prevOffset); } catch (Exception e) { @@ -389,10 +389,14 @@ namespace AIProofread return null; } - public static Range FindTextInRange(Range range, string searchText) + public static Range FindTextInRange(Range range, string searchText,int prevOffset, int findStart = -1) { try { + if (findStart > 0) + { + range.Start = range.Start + findStart; + } Find find = range.Find; if (range.Comments.Count > 0) { @@ -422,7 +426,7 @@ namespace AIProofread //var offset = paraStart + c.SentenceOffset; ////var cutLength = Math.Min(c.InsertLen, paraText.Length - offset); - var originFindRange = FindBySentence(paraRange, c, item, document); + var originFindRange = FindBySentence(paraRange, c, item, document, prevOffset); if (originFindRange != null) return originFindRange; // 如果是新增 则查找定位 @@ -491,7 +495,7 @@ namespace AIProofread if (range.Text == item.Origin) { return range; } } // 使用find查找 - var r = FindTextInRange(paraRange, item.Origin); + var r = FindTextInRange(paraRange, item.Origin, prevOffset); if (r != null) { // 判断找到的range是否和查找区域误差过大