ตัวแก้ไข UNICODE ที่มีน้ำหนักเบาและเน้นไวยากรณ์
โปรแกรมแก้ไขโค้ดขนาดกะทัดรัดที่เน้นไวยากรณ์โดยใช้การเข้ารหัส UNICODE
TCodeEdit เป็นส่วนประกอบหนึ่งของโปรเจ็กต์ lysee ของฉันสำหรับการแก้ไขโค้ด pascal และ lysee และง่ายต่อการขยายให้เหมาะกับภาษาที่กำลังพัฒนาอื่นๆ โดยรวมแล้ว TCodeEdit มีขนาดเล็ก เรียบง่าย ใช้งานง่าย และอาจเป็นประโยชน์กับผู้เขียนโค้ดคนอื่นๆ ด้วย ฉันใส่มันไว้ในโอเพ่นซอร์สที่นี่
เดิมที TCodeEdit ได้รับการพัฒนาให้เป็นโปรแกรมแก้ไขโค้ด Pascal/Lysee สำหรับโปรเจ็กต์ Lysee ของฉัน และต่อมาฉันพบว่าสามารถขยายเพื่อแก้ไขภาษาการเขียนโปรแกรมอื่นๆ ได้อย่างง่ายดาย โดยรวมแล้ว TCodeEdit มีขนาดเล็ก เรียบง่าย และใช้งานง่าย และอาจเป็นประโยชน์กับโปรแกรมเมอร์คนอื่นๆ ดังนั้นฉันจึงใส่มันไว้ที่นี่เป็นโค้ดโอเพ่นซอร์สเพื่อให้ทุกคนได้ใช้
TCodeEdit อยู่ระหว่างการพัฒนาและขาดฟังก์ชันที่เป็นประโยชน์บางประการ
TCodeEdit ยังอยู่ระหว่างการพัฒนาและปรับปรุง นอกเหนือจากฟังก์ชันการแก้ไขเน้นไวยากรณ์พื้นฐานแล้ว ยังไม่ได้เพิ่มฟังก์ชันเสริมอื่นๆ บางอย่าง:
TCodeEdit เปิดตัวภายใต้ใบอนุญาต MIT เพียงใช้ตามที่คุณต้องการ
TCodeEdit ใช้ใบอนุญาต MIT และสามารถใช้งานได้อย่างมั่นใจ
อาจจะเพิ่งเสร็จไปแล้ว 60% ดังนั้นเวอร์ชันปัจจุบันคือ 0.6.0
อาจจะเสร็จสมบูรณ์เพียง 60% ดังนั้นเวอร์ชันนี้จึงคาดว่าจะเป็น 0.6.0
รับ TCodeEdit และเพิ่มลงในโปรเจ็กต์ Lazarus/Delphi ของคุณ
ดาวน์โหลด TCodeEdit และเพิ่มลงในโปรเจ็กต์การพัฒนาของคุณ
ใช้ codeedit.pas ในหน่วยแบบฟอร์มของคุณและประกาศฟิลด์คลาสเพื่อเก็บ TCodeEdit
เพิ่ม codeedit.pas ให้กับหน่วยหน้าต่างที่ต้องใช้ TCodeEdit และประกาศตัวแปรสมาชิกคลาส
uses codeedit;
type
TMainForm = class (TForm)
private
FEdit: TCodeEdit ;
procedure EditStatus (Sender: TObject);
end ;
วาง TCodeEdit ในตำแหน่งที่คุณต้องการโดยเรียก PlaceACodeEdit()
เรียกใช้ฟังก์ชัน PlaceACodeEdit เพื่อวาง TCodeEdit ในตำแหน่งที่ต้องการ
procedure TMainForm.FormCreate (Sender: TObject);
begin
FEdit := PlaceACodeEdit(Self);
FEdit.OnStatus := @EditStatus;
end ;
ตอบสนองเหตุการณ์ OnStatus เพื่อแสดงสถานะตัวแก้ไขและเปิด/ปิดเมนูหรือปุ่ม
ตอบสนองต่อเหตุการณ์ OnStatus เพื่อแสดงสถานะตัวแก้ไขและแก้ไขคุณสมบัติของเมนู ปุ่ม และส่วนประกอบอื่น ๆ ที่เกี่ยวข้อง
procedure TMainForm.EditStatus (Sender: TObject);
begin
EditUndoMenu.Enabled := (FEdit.Undos.Last <> nil );
EditRedoMenu.Enabled := (FEdit.Redos.Last <> nil );
EditCutMenu.Enabled := FEdit.Selection.Selected;
EditCopyMenu.Enabled := FEdit.Selection.Selected;
EditPasteMenu.Enabled := HasTextFormat;
StatusBar.Panels[ 0 ].Text := Format( ' %d, %d ' , [FEdit.Caret.LineIndex + 1 , FEdit.Caret.TextIndex]);
if FEdit.Modified then
StatusBar.Panels[ 1 ].Text := ' Changed ' else
StatusBar.Panels[ 1 ].Text := ' ' ;
StatusBar.Panels[ 2 ].Text := FEdit.Syntax.Language;
end ;
วิธีการเปิดไฟล์.
วิธีการเปิดไฟล์.
procedure TMainForm.FileOpenMenuClick (Sender: TObject);
begin
CloseDialogs;
if OpenDialog.Execute then
FEdit.Lines.LoadFromFile(OpenDialog.FileName);
end ;
ขึ้นอยู่กับนามสกุลไฟล์ TCodeEdit จะเลือกไวยากรณ์ภาษาที่ต้องการโดยอัตโนมัติ
หลังจากเปิดไฟล์ TCodeEdit จะเลือกคลาสเน้นไวยากรณ์ที่ตรงกันโดยอัตโนมัติตามส่วนต่อท้ายไฟล์
วิธีใช้คลาสไวยากรณ์ด้วยตนเอง
วิธีการตั้งค่าคลาสเน้นไวยากรณ์ด้วยตนเอง
FEdit.Syntax.SyntaxClass := TPascalSyntax;
FEdit.Syntax.SyntaxClass := FindSyntax( ' Pascal ' );
FEdit.Syntax.SyntaxClass := FindSyntaxByFileExt( ' .pas ' );
FEdit.Syntax.SyntaxClass := FindFileSyntax( ' ~/editor/frmmain.pas ' );