Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

wtorek, 1 marca 2011

Atmel Studio: Słownik języka polskiego i kolory komentarzy


Autor: Dondu

Artykuł jest częścią cyklu: Atmel Studio - Spis treści

Atmel Studio - Słownik języka polskiego i kolorowanie komentarzy.
Polacy nie gęsi ... także w Atmel Studio chcą kontroli ortografii :-)
Na blogu pewien czytelnik zadał pytanie:


Anonimowy ... gdzie w AS6 można ustawić słownik polski tak aby nie było podkreśleń o błędach?


Faktycznie, po instalacji środowiska Atmel Studio wykorzystującego MS Visual Studio, komentarze mogą być podkreślane na czerwono:


Atmel Studio - Przykład braku zainstalowanego słownika ortograficznego.
Atmel Studio - Przykład braku zainstalowanego słownika ortograficznego.


Jest to spowodowane brakiem słownika języka polskiego w Visual Studio. Są dwa sposoby, aby temu zaradzić:


Zainstalowanie słownika

Należy zainstalować słownik ortograficzny, który składa się z dwóch plików (pl_PL.aff i pl_PL.dic),

Słownik ten możesz pobierać stąd: Open Office - Słowniki. Ponieważ osobą dbającą o słownik jest Pan Marek Futrega stąd najnowszą wersję słownika uaktualnianą na bieżąco można pobrać na stronie: http://sjp.pl/slownik/ort/

Jednakże kodowanie polskich znaków w wyżej wymienionych paczkach nie jest zgodne z tym wymaganym przez Visual Studio zainstalowanym na Windows. Dlatego należy we własnym zakresie przekonwertować oba pliki.

Wspomógł nas przy tym kol. Villentre Vearee i dostarczył gotowe przekonwertowane pliki słownika (stan na dzień 1 grudnia 2013r.) (kopia tutaj) oraz algorytm konwersji, gdybyś chciał w przyszłości sam przekonwertować aktualne pliki:


Villentre Vearee
Sposób zmiany kodowania:
1. plik pl_PL.aff otworzyć w Notepad++;
2. Format->Zestaw znaków->Wschodnioeuropejskie->iso 8859-2;
3. Format->Konwertuj na UTF-8 bez BOM;
4. Format->Konwertuj na ANSI;
5. Plik->Zapisz;
6. Kroki 1. - 5. powtórzyć dla pliku pl_PL.dic.


Oba pliki słownika należy wgrać do folderu:

Windows 10:

C:\użytkownicy\%USERNAME%\AppData\Roaming\VisualAssistAtmel\Dict\

Vista/Windows 7:

C:\Users\%USERNAME%\AppData\Roaming\VisualAssist\Dict\

Windows 2000/XP:

C:\Documents and Settings\%USERNAME%\Application Data\VisualAssist\Dict\ 

w moim przypadku (Windows XP) był to:

C:\Documents and Settings\Dondu\Dane aplikacji\VisualAssistAtmel\Dict

Aby zmiana doszła do skutku, należy zamknąć Atmel Studio i uruchomić ponownie.
Przeczytaj także ten komentarz: Windowsa 7 Ultimate 64-bity



Wyłączenie sprawdzania komentarzy

Można także całkowicie wyłączyć sprawdzanie pisowni w komentarzach jednak odradzam takie postępowanie z dwóch powodów:
  1. programy czasem dostają się w ręce innych programistów, którzy te kody w spadku otrzymują, 
  2. wyłączenie sprawdzania wyłącza także sprawdzanie łańcuchów np. w tablicach, stąd nie wyłapie błędu ortograficznego w np. stan[] ="chałas";


Atmel Studio - Menu opcji Visual Studio.
Atmel Studio - Menu opcji Visual Studio.


W podmenu Advenced --> Underlines możesz wyłączyć komentarze z funkcji poszukiwania błędów pisowni (checkbox wyłączony):


Atmel Studio - Wyłączanie sprawdzania pisowni w komentarzach.
Atmel Studio - Wyłączanie sprawdzania pisowni w komentarzach.


Nie zapomnij nacisnąć przycisku Zastosuj.



Dodawanie słowa do słownika lub jego ignorowanie

Jeżeli słowo nie występuje w słowniku będzie podkreślone czerwonym wężykiem. Aby pozbyć się wężyka wystarczy wskazać wyraz kursorem i nacisnąć prawy przycisk myszki, a następnie wybrać jedną z dwóch opcji:

Atmel Studio - Dodawania słowa do słownika.






Kolor komentarzy

W celu zwiększenia czytelności kodu warto zmienić kolor komentarzy. Nawet bez powiększania poniższego rysunku widać efekt w postaci uwypuklenia widoczności kodu:


Atmel Studio - Przykład zwiększania czytelności kodu poprzez zmianę koloru komentarzy.
Atmel Studio - Przykład zwiększania czytelności kodu
poprzez zmianę koloru komentarzy.


W tym celu z menu Tools wybieramy Options:


Atmel Studio - Menu opcji.
Atmel Studio - Menu opcji.


odnajdujemy grupę Fonts and Colors, a w niej Comment i klikamy przycisk zmiany ustawień Custom:


Atmel Studio - Menu opcji dot. kolorów w edytorze kodu programu.
Atmel Studio - Menu opcji dot. kolorów w edytorze kodu programu.


Ja używam koloru R=174, G=255, B=174:


Atmel Studio - Ustawianie kolorów komentarzy.
Atmel Studio - Ustawianie kolorów komentarzy.


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

29 komentarzy:

  1. O fajny artykuł, dzięki za odpowiedź na moje pytanie, dodam że ą też podkreśla gdyż widzi to jako znak +- a ś widzi jako znak Pi

    OdpowiedzUsuń
    Odpowiedzi
    1. znak - (ale długi) też jest podkreślany

      Usuń
  2. jest tego więcej np w słowie więź, bąk :) literki ź i ą są źle interpretowane

    OdpowiedzUsuń
    Odpowiedzi
    1. Czas na "telefon do przyjaciela", czyli zadanie pytania na forum :-)
      Spróbuję zasięgnąć języka u znawców MS Visual Studio.

      Usuń
    2. Ja już na forum elportal.pl zadałem pytanie , na ten temat, podałem twój sposób na słownik ale przekopałem się przez różne ustawienia i nic nie poradziłem na te literki :-)

      Usuń
    3. Problem rozwiązany poprzez konwersję plików słownika (artykuł poprawiony). Jeżeli jednak, ktoś będzie znał inny sposób nie wymagający konwertowania, prosimy o informację.

      Usuń
  3. No i super, działa ładnie. Nie będę się musiał pilnować aby pomijać polskie znaki.

    OdpowiedzUsuń
  4. Inne pytanie - czy da się, oprócz żmudnego zmieniania kolorów czcionki, tła itd. zmienic że tak powiem styl całosci tak aby mieć tło wszystkiego ciemne lub takie jak w dawnym borlandzie, czyli krótko mówiąc czy jest takie narzędzie gdzieś jak zmiana stylu (theme)

    OdpowiedzUsuń
  5. Znalazłem coś takiego http://studiostyl.es/ czy to się bez problemu da zastosować do AtmelStudio 6.x

    OdpowiedzUsuń
  6. Słownik nie działa... Szkoda bo było by bardzo przydatne. Zrobiłem wszystko tak jak w instrukcji - nadal dostępny jedynie słownik angielski. W opcjach nigdzie nie widzę możliwości wyboru języka.

    OdpowiedzUsuń
    Odpowiedzi
    1. Zamknąłeś i uruchomiłeś ponownie AS?

      Usuń
    2. Oczywiście że tak. Mam wersję AS: 6.1.2440b jeśli to coś może pomóc. Nie spodziewałem się tak szybkiej odpowiedzi :)

      Usuń
    3. Ściągam już najnowszego AS, jeśli to nie pomoże to znów się wkurzę i wrócę do avr-gcc... Pozdrawiam

      Usuń
    4. Tą metodą, to nowy porządny samochód który nie działa, należałoby zastąpić starym tylko dlatego, że czegoś nie wiemy :-)

      Jaki masz system i jaką wersję językową?

      Usuń
    5. Analogia nie do końca pasuje, bo avr-gcc jest też darmowy :)
      Mam angielskiego Windowsa 7 Ultimate 64-bity
      Już instaluję nowego AS

      Usuń
    6. PS: avr-gcc jest przede wszystkim porządny ;)

      Usuń
    7. I to jest chyba problemem - masz angielskojęzyczną wersję i zapewne Visual Studio dlatego nie stosuje polskiego słownika. Należałoby poszukać informacji jak w takiej sytuacji zmienić w VS język. Szukałbym na stronie Microsoftu.

      Usuń
    8. PS: Poza tym AS ma całą masę inny denerwujących błędów (najgorsze są wycieki pamięci i błędy interfejsu niepozwalająca pracować i czasami gubiąc ostatnią godzinę pracy, co pewnie też Panu się zdarzyło nie jeden raz) i jest ciążki jak krowa. Poza tym fajnie się pisze duże solucje.

      Usuń
    9. Ok, dzięki za pomoc.

      Usuń
    10. Nie, nie zdarzyło się i nie jest ciężki jak krowa, a na tych samych komputerach działa dokładnie tak samo jak ciężki Eclipse, którego nota bene używam na co dzień do PHP :-)

      Stosuj aktualne wersje, bo Twoja jest dość stara.

      I nie pisz per Pan, ja nie mam potrzeby dowartościowywania się - per Ty proszę niezależnie od różnicy wieku.

      Usuń
    11. Dodam jeszcze, że błędów o których piszesz Atmel Studio nie ma. Może były we wczesnej fazie rozwojowej ... jak w każdym programie.

      Prośba: Gdy ustalisz jak zmienić jeżyk dla wersji angielskojęzycznej systemu, napisz proszę, a dopiszę do artykułu.

      Usuń
    12. Literówka ... wyszedł "jeżyk" zamiast "język" :-)
      ... klawiatura Microsoft, eh "zakała rodziny" nawet w tym temacie ...

      Usuń
    13. Błędy są, np przy debugowaniu na symulowanym mikrokontrolerze i podglądzie pamięci RAM, krzaczy się jak Windows95 :) (a dokładnie siada UI oraz czasami dostaje wycieku pamięci o katastrofalnych skódkach). Jak włączysz optymalizację -o3 do -o1 to niedziała obsługa pamięci EEPROM na procku atmega32c1. Poza tym AS i tak nie wspiera mojego programatora USBASP. Na linuxie i na avr-gcc (z wykorzystaniem terminala) nigdy nie miałem żadnych problemów (ani z programatorem, ani z takimi błędami optymalizacji, a program wychodził jeszcze mniejszy).
      Wracając do tematu, to przeinstalowałem AtmelStudio i to nic nie dało. Będę jeszcze szukał, ale przecież nie ma polskiej wersji visuala, więc co mam zmieniać?

      Usuń
    14. PS: Ale rzeczywiście, możliwe że to już przynajmniej częściowo poprawili.
      Poza tym to bardzo miło z Twojej strony :)

      Usuń
    15. Stosuję aktualnie najnowszą wersję Atmel Studio 6.1 update 2.0 (build 2730) i nie ma takich problemów które opisujesz. Ty piszesz o wersjach znacznie starszych, co jest normalnym zjawiskiem.

      Co do tematu języka - jak wspomniałem stosujesz wersję angielskojęzyczną więc rozwiązania szukałbym na stronach Microsoftu, bo jak widać są wersje językowe przynajmniej w 2013: Microsoft Visual Studio 2013 Language Pack

      Installing Multiple Language Versions of Visual Studio
      itd.

      Ale AS (w aktualnych na dzień pisania tego komentarza) używa chyba Visual Studio 2010.

      Tutaj ktoś pisze coś na temat zmiany języka How to change the Display Language of Visual Studio

      Gdzieś widziałem jeszcze jak grzebać w rejestrach dot. VS.


      ... kończę, bo praca czeka .... Wesołych Świąt!!!

      Usuń
    16. Małe sprostowanie - avr-gcc to kompilator, Atmel Studio to IDE używające np. avr-gcc jako kompilatora. Trudno więc porzucić AS na rzecz gcc, bo tak czy siak używa się gcc. Wsparcie dla USBASP jest opisane w jednym z artykułów o Atmel Studio.
      Problem z niezapisywaniem EEPROM przy przejściu z O3 na O1 nie jest winą Atmel Studio - nie ma on nic do tego. Ba, nie jest to niczyją winą, wystarczy przestudiować notę katalogową procesora i znaczenie opcji Ox. Zapis EEPROM wymaga odpowiedniej sekwencji czasowej instrukcji, O1 czy O0 może uniemożliwić jej uzyskanie poprzez niewystarczającą optymalizację kodu, błąd też może wynikać po prostu z błędnego kodu (pisząc w C nie można czynić założeń co do wygenerowanego kodu asemblerowego).
      Program skompilowany w Atmel Studio nie może wychodzić ani większy ani mniejszy niż tak samo skompilowany w avr-gcc z przyczyny którą już podałem - AS używa gcc jako kompilatora. Różnice wynikają z innych opcji kompilacji, czyli problem leży a raczej siedzi przed klawiaturą.

      Usuń
    17. Udało się!
      Robiłem bardzo wiele (ściągałem te wszystkie language packi z strony microsoftu), zmieniałem nazwy plików(podszywając się pod język angielski) i nic. Aż w końcu doszedłem do wniosku że może w moim przypadku ścieżka słownika jest taka jak z Windowsa Xp, a nie Windows 7 i rzeczywiście: u mnie pliki wystarczyło skopiować do:
      C:\Users\user\AppData\Roaming\VisualAssistAtmel\Dict
      a nie do:
      C:\Users\user\AppData\Roaming\VisualAssist\Dict
      Mam nadzieje że ten mój wysiłek (i zmarnowany czas) jeszcze komuś się przyda :)

      tmf: Wiem że AS bazuje na avr-gcc do kompilacji, z tym że to nie to samo jak sobie zainstalujesz sam avr-gcc i będziesz obsługiwał go przez konsole. Przez konsole ten sam kod zapisu i odczytu EEPROM działa prawidłowo na wszystkich optymalizacjach, a przez AS nie działał ani zapis ani odczyt na tym samym kodzie. Myślę że winna jest biblioteka C funkcji do obsługi pamięci EEPROM w której niestety grzebała firma Atmel.
      "pisząc w C nie można czynić założeń co do wygenerowanego kodu asemblerowego" zgadza się dlatego ostatnio lubię pisać w asemblerze :)
      "Program skompilowany w Atmel Studio nie może wychodzić ani większy ani mniejszy niż tak samo skompilowany w avr-gcc z przyczyny którą już podałem " - sprawdziłem w praktyce i miałem sporą różnicę przy tym samym stopniu optymalizacji - więc MOŻE.
      USBASP jest opisane tutaj: http://mikrokontrolery.blogspot.com/2011/03/Atmel-Studio-Programator-USBasp-USBTiny.html Dzięki za artykuł!

      Dondu: Dziękuje za pomoc!

      Wesołych świąt!

      Usuń
    18. No pewnie, że się przyda - dodam w artykule informację o Twoim przypadku.
      Wesołych Świąt!!!

      Usuń
  7. Dlaczego AtmelStudio podkreśla mi instrukcję "sei();" lub np. "PB1"?

    OdpowiedzUsuń

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.