Легкий редактор 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 ' );