Praca w środowisku programistycznym

Opublikowano: 14 stycznia 2005 r. | Zaktualizowano: 14 stycznia 2005 r.

W rozdziale tym zostały opisane podstawowe etapy tworzenia aplikacji, takie jak pisanie, kompilowanie, debugowanie kodu źródłowego, w środowiskach programistycznych Visual Studio oraz .NET Framework SDK.

Zawartość strony

Visual StudioVisual Studio

.NET Framework SDK.NET Framework SDK

*

Visual Studio

Tworzenie projektu

Zadania programistyczne w pakiecie Visual Studio organizowane są w rozwiązania (solution), w których umieszczane są projekty. Każde rozwiązanie musi zawierać przynajmniej jeden projekt.

  1. Aby utworzyć nowy projekt, w programie Visual Studio należy z menu File wybrać pozycję New, a następnie pozycję Project.

    new project

  2. Wyświetlone zostanie okno dialogowe New Project z szablonami projektów. W lewej części okna wybieramy typ projektu — np. Visual C# Projects (projekty w języku C#) lub Visual Basic Projects (projekty w języku Visual Basic). Natomiast w prawej części okna wybieramy konkretny szablon — jeśli chcemy utworzyć aplikację konsolową, powinniśmy wybrać ikonę opisaną Console Application, a jeśli chcemy utworzyć aplikację okienkową — ikonę Windows Application.
    W przykładzie tym zajmiemy się aplikacją konsolową w języku C#.

    visual c project

  3. W polu Name wpisujemy nazwę projektu, a w polu Location podajemy folder, w którym projekt ma zostać utworzony. Następnie klikamy przycisk OK, aby utworzyć projekt.

Visual Studio .NET utworzy rozwiązanie, zawierające jeden projekt Visual C#. Na projekt składają się dwa pliki — assemblyinfo.cs oraz class1.cs.

Edytowanie kodu źródłowego

Plik, który chcemy edytować, można otworzyć, klikając dwukrotnie jego nazwę (np. class1.cs) w eksploratorze rozwiązania (okno Solution Explorer). Jeśli eksplorator nie jest widoczny, w menu View należy zaznaczyć opcję Solution Explorer.

Visual Studio na kilka różnych sposobów pomaga programiście w pisaniu kodu. Przede wszystkim funkcja uzupełniania wyrażeń podpowiada nazwy klas, funkcji i zmiennych. Załóżmy, że nasza aplikacja ma wypisać jakiś tekst w oknie konsoli. Powinniśmy użyć funkcji Console.WriteLine. W funkcji main wpisujemy nazwę klasy Console i stawiamy kropkę. W tym momencie powinno zostać wyświetlone pole zawierające nazwy elementów i metod składowych klasy Console (widoczne na ilustracji poniżej). Jeśli podpowiedź nie pojawiła się automatycznie, wystarczy przycisnąć kombinację klawiszy Ctrl+j. Jeśli zamiast Ctrl+j naciśniemy klawisze Alt+ lub Ctrl+spacja i będzie istniała tylko jedna możliwość uzupełnienia wyrażenia, to uzupełnienie to zostanie dopisane automatycznie. W przeciwnym razie zostanie wyświetlone pole z możliwymi uzupełnieniami wyrażenia.

console-writeln

Pomoc Visual Studio na tym się nie kończy. Gdy napiszemy już nazwę funkcji i otworzymy nawias, pojawi się podpowiedź informująca o typach danych i liczbie przekazywanych do funkcji parametrów. Jeśli istnieje więcej funkcji o tej samej nazwie, korzystając z klawiszy strzałka w górę i strzałka w dół możemy wyświetlać podpowiedzi do kolejnych funkcji. Jeśli podpowiedź nie wyświetli się automatycznie, można ją wywołać przyciskając klawisze Ctrl+Shift+spacja.

console-writeln2

Opisane wyżej podpowiedzi są wyświetlane zarówno w przypadku funkcji bibliotecznych, jak i funkcji napisanych przez programistę. Jeśli chcemy rozbudować opis elementu, jaki ma być wyświetlany, bezpośrednio przed jego deklaracją w kodzie należy wstawić specjalny komentarz (tak zwana dokumentacja w kodzie). W języku C# każda linia takiego komentarza musi rozpoczynać się trzema ukośnikami (po wpisaniu /// Visual Studio powinno podpowiedzieć podstawowe pola XML dla tej dokumentacji). W języku Visual Basic także możliwe jest stosowanie tego typu komentarzy, jednak każdą linię komentarza muszą poprzedzać trzy apostrofy ('''). Aby móc stosować komentarze w Visual Basic .NET 2003, konieczne jest zainstalowanie narzędzia VBCommenter (j. ang.). W nowszych wersjach edytorów — także w wersji Express — obsługa komentarzy takiego typu jest już wbudowana.

[C#] /// <summary> /// Skrótowy opis klasy Klasa1 /// </summary> Class Klasa1 { ... }

Gdy później w kodzie będziemy chcieli użyć utworzonej klasy, zostanie wyświetlona następująca podpowiedź.

klasa

Wszystkie niepoprawne wyrażenia w kodzie są podkreślane falistą linią. Po wskazaniu podkreślonego wyrażenia myszą, wyświetlona zostanie podpowiedź sugerująca, jaki błąd mogliśmy popełnić. Umożliwia to wyśledzenie błędów w czasie pisania kodu, jeszcze przed kompilacją.

klasa requires

Jeśli chcemy dowiedzieć się więcej na temat używanych w programie funkcji bibliotecznych, wystarczy zaznaczyć ich nazwę w kodzie i nacisnąć klawisz F1. W zależności od tego, czy dokumentacja została zainstalowana, wyświetlone zostaną informacje z dysku lub zostaniemy skierowani do dokumentacji dostępnej w Internecie.

Kompilacja i uruchamianie

Kod źródłowy programu jest dla komputera tekstem niezrozumiałym, dlatego przed uruchomieniem programu trzeba go skompilować. W tym celu z menu Build należy wybrać pozycję Build.

build

Błędy i komunikaty kompilatora C# zostaną wyświetlone w oknie Output. Jeśli kompilator nie wykrył żadnych błędów, można uruchomić aplikację, wybierając z menu Debug polecenie Start without Debugging.

debug

Usuwanie błędów

Jeśli nasz program skompilował się bezbłędnie, ale w czasie jego wykonania występują błędy, których nie potrafimy znaleźć lub nie rozumiemy ich, najlepiej jest skorzystać z programu debugującego, który umożliwi szczegółowe prześledzenie działania aplikacji.

Gdy program uruchamiany jest w debugerze, możliwe jest definiowanie punktów wstrzymania, powodujących przerwanie wykonywania programu w danym miejscu i przekazanie programiście kontroli nad debugerem. Aby wstawić punkt wstrzymania, prawym przyciskiem myszy należy kliknąć wiersz kodu, przed wykonaniem którego program ma się zatrzymać, i z kontekstowego menu należy wybrać pozycję Insert Breakpoint. Punkt wstrzymania można usunąć, klikając prawym przyciskiem myszy na wierszu kodu, w którym ten punkt się znajduje i wybierając z kontekstowego menu pozycję Remove Breakpoint.

breakpoint

Po ustawieniu punktu wstrzymania, uruchamiamy program w debugerze. Z menu Debug tym razem należy wybrać polecenie Start (lub nacisnąć klawisz F5). Gdy wykonywanie programu dojdzie do punktu wstrzymania, kontrola nad debugerem zostanie przekazana programiście. Wykonywaną aktualnie linię w programie będzie wskazywała strzałka widoczna na marginesie.

Aby wykonać jedną linię kodu (tak zwane wykonywanie krokowe), z menu Debug należy wybrać Step Over (lub nacisnąć klawisz F10) — kursor przesunie się do następnej linii. Polecenie Debug > Step Into (klawisz F11) umożliwia przejście do wnętrza funkcji wywoływanej w danej linii. Gdy chcemy wznowić wykonywanie programu do napotkania kolejnego punktu wstrzymania lub zakończenia działania programu, z menu Debug wybieramy polecenie Continue (klawisz F5).

Jeśli chcemy monitorować wartość jakiejś zmiennej, wystarczy kliknąć jej nazwę prawym przyciskiem myszy i z kontekstowego menu wybrać pozycję Add Watch. Wyświetlone zostanie okno, w którym można monitorować wartości zmiennych uzyskiwane po wykonaniu kolejnych kroków.

watch

W menu Debug dostępnych jest wiele innych narzędzi debugera. Warto się z nimi zapoznać i korzystać z nich nawet przy prostych programach, ponieważ pomagają zrozumieć kolejność wykonywania operacji i to, jak naprawdę działa nasz program.

Do początku stronyDo początku strony

.NET Framework SDK

Pliki źródłowe oraz konfiguracyjne dla wszystkich języków mają postać zwykłych plików tekstowych, dlatego można modyfikować je za pomocą dowolnego edytora tekstowego — nawet notatnika.

Aby móc uruchomić program, konieczna jest jego kompilacja. W .NET Framework SDK kompilację można przeprowadzić wyłącznie z wiersza polecenia. Pliki środowiska uruchomieniowego Microsoft .NET Framework 1.1 oraz kompilatory języków C# oraz Visual Basic .NET instalowane są w katalogu
%SystemRoot%\Microsoft.NET\Framework\ v1.1.4322.

Aby nie trzeba było za każdym razem podawać pełnych ścieżek dostępu do plików, przed rozpoczęciem pracy warto ustawić ścieżki wyszukiwania i zmienne środowiskowe, uruchamiając polecenie:

"C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat"

Kompilator języka C# nosi nazwę csc.exe, a kompilator języka Visual Basic — vbc.exe.

Przykład kompilacji programu

  1. Korzystając notatnika, przygotowujemy kod źródłowy programu, na przykład:

    [C#] using System; class Przywitanie { static void Main() { Console.WriteLine("Witamy w świecie programowania!"); } } [Visual Basic] Imports System Module Module1 Sub Main() Console.WriteLine("Witamy w świecie programowania!") End Sub End Module

  2. Gotowy kod trzeba zapisać w pliku o odpowiedniej nazwie — na przykład przywitanie.cs dla języka C# albo przywitanie.vb dla języka Visual Basic.

  3. Otwieramy okno wiersza polecenia i za pomocą polecenia cd przechodzimy do folderu, w którym znajduje się plik źródłowy, np.:

    cd "c:\moje projekty\przywitanie\"

  4. Przygotowujemy ścieżki wyszukiwania i zmienne środowiskowe, wpisując polecenie:

    "C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat"

  5. Kompilujemy program, używając polecenia:

    [C#] csc przywitanie.cs [Visual Basic] vbc przywitanie.vb

  6. Kompilator przystąpi do kompilacji kodu źródłowego. Jeśli w kodzie źródłowym nie ma błędów, kompilator zakończy pracę, wyświetlając swój numer wersji. Jeśli kompilator odnajdzie błędy w kodzie źródłowym, poinformuje o nich, wyświetlając numery linii, w których te błędy się znajdują oraz prawdopodobną przyczynę wystąpienia błędu.

  7. Jeśli program skompiluje się bez błędów, można go uruchomić:

    przywitanie.exe

  8. Wynik wykonania programu z przykładu:

    Witamy w świecie programowania!

Jak widać, proces kompilacji jest żmudny, a usuwanie błędów polega na ciągłych próbach kompilowania programu i poprawianiu kodu źródłowego. O ile jest to dobra metoda do wypróbowania swoich sił w pisaniu najprostszych programów, do dalszej nauki bardzo przydają się zintegrowane środowiska programistyczne, takie jak Visual Studio .NET czy bezpłatne narzędzia programistyczne w wersjach Express.

Możliwa jest też integracja zestawu .NET Framework SDK ze zintegrowanymi środowiskami programowania innych. Szczegółowych informacji na ten temat należy szukać u producentów tych środowisk.

Zobacz też

Do początku stronyDo początku strony