Giới thiệu
Bộ từ điển này giúp bạn gạt bỏ đi các cảnh báo tiếng việt không đáng có trong ReSpeller rất khó chịu.Trong hầu hết các dự án mình đều dùng tiếng anh nhưng đôi khi ít quan tâm một số vấn đề nhỏ như này.
Đôi lúc một vài dự án là người việt nam nên mình phải comment lại cho họ hiểu nên mình tạo ra một bộ từ điển không giấu này để sử dụng cho tiện, thay vì cứ comment không dấu là lại bị lỗi
Giải pháp
Ở đây mình sẽ sử dụng bộ từ điển từ chính trang chủ đã giới thiệu, sau đó gạt bỏ đi các kí tự unicode Việt Nam và loại bỏ tiếp các từ khoá trùng lặp.Bộ từ điển mới sẽ ít chữ hơn bộ từ điển mới rất nhiều.
//https://www.jetbrains.com/help/resharper/Spell_Checking.html#configuring-respeller-inspections | |
void ex() | |
{ | |
string path = @"D:\API\dictionaries\dictionaries\vi\index.dic"; | |
string newpath = @"D:\API\dictionaries\dictionaries\vi\index2.dic"; | |
string text = File.ReadAllText(path); | |
string newtext = RemoveSign4VietnameseString(text); | |
string[] lines = newtext.Split( | |
new[] { "\r\n", "\r", "\n" }, | |
StringSplitOptions.None | |
); | |
List<string> ss = lines.ToList().Distinct().ToList(); | |
ss.Sort(); | |
string[] strings = ss.ToArray(); | |
strings[0] = strings.Length.ToString(); | |
string textfilter = string.Empty; | |
foreach (string s in strings) | |
{ | |
textfilter += s+"\n"; | |
} | |
File.WriteAllText(newpath,textfilter); | |
} | |
public static string[] RemoveDuplicates(string[] s) | |
{ | |
HashSet<string> set = new HashSet<string>(s); | |
string[] result = new string[set.Count]; | |
set.CopyTo(result); | |
return result; | |
} | |
public static string RemoveSign4VietnameseString(string str) | |
{ | |
for (int i = 1; i < VietnameseSigns.Length; i++) | |
{ | |
for (int j = 0; j < VietnameseSigns[i].Length; j++) | |
str = str.Replace(VietnameseSigns[i][j], VietnameseSigns[0][i - 1]); | |
} | |
return str; | |
} | |
private static readonly string[] VietnameseSigns = new string[] | |
{ | |
"aAeEoOuUiIdDyY", | |
"áàạảãâấầậẩẫăắằặẳẵ", | |
"ÁÀẠẢÃÂẤẦẬẨẪĂẮẰẶẲẴ", | |
"éèẹẻẽêếềệểễ", | |
"ÉÈẸẺẼÊẾỀỆỂỄ", | |
"óòọỏõôốồộổỗơớờợởỡ", | |
"ÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠ", | |
"úùụủũưứừựửữ", | |
"ÚÙỤỦŨƯỨỪỰỬỮ", | |
"íìịỉĩ", | |
"ÍÌỊỈĨ", | |
"đ", | |
"Đ", | |
"ýỳỵỷỹ", | |
"ÝỲỴỶỸ" | |
}; |
Sau khi tạo xong bộ từ điển thì bạn thêm vào đây là được.Nếu tạo ở trên không thành công bạn có thể tải về bộ từ điển mới này mình đã thêm tại indexnophonology.dic
Kiểm tra với hai văn bản có một có dấu và một không có dấu, nếu cảnh báo không xuất hiện nữa tức là bạn đã thành công.