AmigaE i GoldED

Transkrypt

AmigaE i GoldED
AmigaE i GoldED
Marcin Juszkiewicz
(c) Polski Portal Amigowy (www.ppa.pl)
Aby pisać programy, potrzebny jest dobry edytor programisty. Aktualnie nie ma lepszego niż GoldED 4.7.3 lub wyższy.
.p
Instalacja edytora
l
Kiedyś najpopularniejszym edytorem programisty był CED. Program ten spełniał wymagania programistów, jednak w
dzisiejszych czasach jego możliwości są zbyt małe. Dzisiaj standardem jest wyróżnianie słow kluczowych kolorami,
możliwość dowolnej konfiguracji menu i klawiatury, definiowanie pasków narzędziowych, automatyczna korekta
wielkości słów kluczowych. Ktoś może powiedzieć, że jemu to niepotrzebne, ale przy pisaniu w AmigaE najbardziej
przydaje się ostatnia z wymienionych cech. Do CED-a też powstało parę programów dodających toolbary, ale to
substytuty tego, co bez problemu uzyskać można w GoldEdzie. Ta więc widać wyrażnie, że jedynym sensownym
wyjściem jest zmiana edytora na GoldEDa w wersji 4.7.3 lub wyższej.
w
.p
pa
Najpierw należy zdobyć archiwum z programem. Przez pewien czas po ukazaniu się GoldEDa 5.0 można było ściągnąć
pełną wersję 4.7.3 ze strony autora. Teraz jedynym źródłem jest płyta "Amy Resources volume 10" wydana przez firmę
Interactive we Włoszech.
Można też zakupić wersję 6.xx za 100 DM bezpośrednio u autora. Osobiście preferuję jednak wersję 4.7.3 gdyż
nowsze wersje mają interfejs użytkownika wzorowany na środowisku Windows 95 (poza tym wersję 4.7.3 mam za
darmo).
Po rozpakowaniu archiwum naszym oczom ukazuje się ikonka skryptu instalacyjnego. Program po zainstalowaniu
zajmuje 2.6 MB. Jednak w pakiecie nie ma żadnych narzędzi pomocnych dla piszących w AmigaE. Należy doinstalować
jeszcze kilka przydatnych rzeczy:
- ged_e_s2.lha - syntax checker (Aminet: text/edit)
- escanner.lha - scanner funkcji (Aminet: dev/e)
Po rozpakowaniu pierwszego archiwum kopiujemy plik e.parser do katalogu GOLDED:syntax/, zaś z drugiego
archiwum kopiujemy plik EScanner do katalogu GOLDED:scanners/. Tym sposobem instalację mamy za sobą.
w
Konfiguracja
w
Przystępujemy do konfiguracji GoldEda. Po uruchomieniu programu wybieramy opcję "options global..." z menu Extras.
Otwiera się okno takie, jak na rysunku nr 1. W oknie wybieramy pierwszą zakładkę i w pierwszej z brzegu liście
tworzymy nowy typ pliku naciskając czwarty przycisk licząc od lewej. Powoduje to skopiowanie typu wybranego po czym
zmieniamy nazwę na (#?.e) co powoduje rozpoznawanie przez GoldEda plików źródłowych w AmigaE. W liście trzeciej
od lewej mamy wymienione pliki konfiguracyjne. Znanym nam już typem przycisku kopiujemy pliki:
- standard.toolbar -> e.toolbar
- standard.misc -> e.misc
- standard.dictionary -> e.dictionary
- standard.syntax -> e.syntax
- standard.indent -> e.indent
- standard.keyboard -> e.keyboard
- standard.gadgets -> e.gadgets
Po czym wybieramy każdy z nich i przyciskiem ze strzałką w lewo przenosimy je do środkowej listy. Tworzenie typu
Strona 1
AmigaE i GoldED
Marcin Juszkiewicz
(c) Polski Portal Amigowy (www.ppa.pl)
pliku mamy już za sobą.
Następnym krokiem jest konfiguracja typu pliku. W tym celu wybieramy opcję "Options local" z menu Extras. Ukazuje
nam się okno z dużą ilością zakładek Opisywanie zacznę od górnego rzędu.
Lista projektów - tu możemy wpisać wszystkie pliki, nad którymi pracujemy.
.p
l
Hunter - wyszukiwanie plików wskazanych przez kursor - stosowane do przeglądania zawartości plików nagłówkowych
przy pisaniu w C/C++. Niestety wykorzystanie tej funkcji do użycia w AmigaE wymaga stworzenia wersji tekstowej
poszczególnych modułów przez co nigdy nie zostało to przeze nie sprawdzone.
Reference - tu możemy stworzyć pliki indeksowe posiadanych przez nas autodoców. Pomaga to przy późniejszym
pisaniu programów - wystarczy nacisnąć np. F1 na nazwie funkcji a uzyskamy jej opis z autodoca danej biblioteki.
w
.p
pa
Misc - tu nas interesują pola Fold start/end, w które wpisujemy odpowiednio PROC/ENDPROC. Reszta pól zależy od
własnych preferencji przy czym należy wyłączyć opcję "Twórz *.bpt".
Layout - wyłączamy "Łamanie wierszy" i "Reformat hyphen"
Syntax - wybieramy zainstalowany wcześniej e.parser i konfigurujemy sobie kolorki poleceń, stałych itp. Włączamy
analizę wstępna
API - polecam dodać mirror.api, dzięki któremu uzyskujemy zaznaczenie drugiego nawiasu oraz quickinfo.api, który
będzie pokazywał krótki opis funkcji pod kursorem (w pakiecie GoldEDa jest spis funkcji systemowych, ale nic nie stoi
na przeszkodzie by wykonać taki opis do funkcji AmigaE)
Drukarka - ci co mają mogą skonfigurować.
Tabulacje - proponuję włączyć "Regularne", "Spacje" oraz ustalić sobie standardowy odstęp (zwykle stosuje się 8 ale
osobiście preferuję 4).
w
Menu - można zostawić tak jak jest.
Mysz - tak samo jak z menu - zostawiamy.
w
Klawiatura - proponuję podpiąć sobie uruchamianie skryptów do kompilacji (F9), uruchomienia debuggera (F10),
przełączanie pokazywania procedur (F6), wyszukiwanie funkcji w autodocach (F1). Osobiście używam do tego celu
klawiszy funkcyjnych podanych w nawiasach. Oprócz nich przedefiniowałem sobie częściowo klawiaturę, by mieć układ
podobny do tego z CED-a.
Słownik słów kluczowych - tu możemy dodawać słowa, które będą miały ustawiane właściwą wielkość znaków po
naciśnięciu klawisza ENTER. Ilość słów szybko się zwiększa w miarę pisania własnych programów. Niestety GoldED
sortuje tą listę, przez co nie można niektórych rzeczy wpisać - np. STRING będzie przed String (przez co zawsze
będziemy mieli STRING).
Interface - możemy nic nie zmieniać. Włączenie sprawdzania nawiasów może powodować dość dziwne efekty, gdyż
funkcja ta ma problemy z nawiasami kończącymi się w innej linii niż zaczynająca.
Strona 2
AmigaE i GoldED
Marcin Juszkiewicz
(c) Polski Portal Amigowy (www.ppa.pl)
Wyświetlanie - tu ustawiamy czy edytor ma się otwierać na własnym ekranie, czy na ekranie publicznym. Możemy też
ustawić paletę ekranu, kolory poszczególnych części interfejsu użytkownika, fonty używane przez edytor oraz wiele
innych rzeczy. Proponuję wyłączyć "Auto-układanie", gdyż przy próbie wczytania na raz większej ilości plików do edycji
program dość długo układa okna.
Wzorce - tutaj możemy wpisać reakcję edytora na wpisywane przez nas teksty. Niestety nie rozpracowałem tej funkcji,
więc nie mogę więcej napisać na ten temat.
.p
l
Toolbar - możemy zdefiniować sobie dowolną ilość toolbarów oraz przyciski na belce okna (np. wywoływanie
dokumentacji od AmigaE). Jeśli często pracujesz nad wieloma plikami jednocześnie, to przyda ci się przycisk
"usypiający" aktualne okno.
ARexx
w
.p
pa
Indent - bardzo przydatna opcja. Pozwala na automatyczne dodawanie/odejmowanie kilku spacji/tabulatora po
pewnych słowach kluczowych. Pozwala to na uzyskanie ładnie wyglądającego tekstu źródłowego bez dodatkowych
nakładów.
Aby skompilować program przydadzą się skrypty ARexxa. Niestety skrypt dołączony do pakietu AmigaE napisany
został do potrzeb GoldEda 3.14 i nie chce działać z nowszą wersją. W tej sytuacji polecam skrypty zamieszczone na
końcu tego artykułu. Napisałem je na bazie make.ged napisanego przez autora GoldEDa. Pierwszy z nich
ECompile.ged służy do kompilacji programu po czym pyta czy chcesz uruchomić program. Drugi skrypt EDebug.ged
kompiluje program i wywołuje debugger (po uprzednim zapytaniu).
Jak widać wystarczy poświęcić trochę czasu na konfigurację programu, aby móc wykorzystać większość funkcji tak
potężnego edytora programisty jakim jest GoldED. Po rozbudowaniu słownika słów kluczowych możemy mówić o
bardzo wygodnej pracy i z pewnością nie będziecie chcieli przesiąść się na inny edytor (chyba że na nowszą wersję
GoldED-a).
w
w
/* * EDebug.ged 1.1 (12.03.98) by Szczepan/BlaBla * Based on make.ged by Dietmar Eilert. * * Compile current E
source and debug it with EDBG * */ OPTIONS RESULTS IF (LEFT(ADDRESS(), 6) ~= "GOLDED") THEN address
'GOLDED.1' 'LOCK CURRENT RELEASE=4' IF (RC ~= 0) THEN EXIT OPTIONS FAILAT 6 SIGNAL ON SYNTAX
'QUERY ANYTEXT' IF (result = 'TRUE') THEN DO
'QUERY DOC VAR=OLDNAME'
'SAVE ALL'
shell
'EC ERRLINE DEBUG SYM SOURCE ' || oldname
errline = RC
ok = (RC = 0)
shell
'NAME
NEW ' || oldname
IF errline > 0 THEN 'GOTO LINE ' || errline
'UNLOCK'
IF (ok) THEN
DO
'REQUEST BODY="EC done. Debug program ?" BUTTON="!Debug|_Cancel"'
IF (result = 1) THEN
DO
newname=left(oldname,length(oldname)-2)
shell
'EDBG ' || newname
shell
END
END END ELSE DO
'REQUEST PROBLEM="Text buffer is empty ?!"' END EXIT SYNTAX:
SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-(" 'UNLOCK' EXIT
Skrypt kompilujący program.
/* * ECompile.ged 1.1 (12.03.98) by Szczepan/BlaBla * Based on make.ged by Dietmar Eilert. * */ OPTIONS
RESULTS IF (LEFT(ADDRESS(), 6) ~= "GOLDED") THEN address 'GOLDED.1' 'LOCK CURRENT RELEASE=4' IF
(RC ~= 0) THEN EXIT OPTIONS FAILAT 6 SIGNAL ON SYNTAX 'QUERY ANYTEXT' IF (result = 'TRUE') THEN
DO
'QUERY DOC VAR=OLDNAME'
'SAVE ALL'
shell
'EC ERRLINE SOURCE ' || oldname
errline = RC
ok = (RC = 0)
shell
'NAME NEW ' || oldname
IF errline > 0 THEN 'GOTO LINE ' ||
errline
'UNLOCK'
IF (ok) THEN
DO
'REQUEST BODY="EC done. Run program ?"
Strona 3
AmigaE i GoldED
Marcin Juszkiewicz
(c) Polski Portal Amigowy (www.ppa.pl)
BUTTON="!RUN|_Cancel"'
IF (result = 1) THEN
DO
newname=left(oldname,length(oldname)-2)
shell
newname
shell
END
END
END ELSE DO
'REQUEST PROBLEM="Text buffer is empty ?!"' END EXIT SYNTAX: SAY "Sorry, error
line" SIGL ":" ERRORTEXT(RC) ":-(" 'UNLOCK' EXIT
Skrypt uruchamiajacy debugger.
w
w
w
.p
pa
.p
l
Artykuł opublikowany za zgodą autora. Pierwotnie został zamieszczony w numerze 8/99 Magazynu Amiga.
Strona 4