Autor: Dondu
Artykuł jest częścią cyklu: Atmel Studio - Spis treści
Polacy nie gęsi ... także w Atmel Studio chcą kontroli ortografii :-)
Na blogu pewien czytelnik zadał pytanie:
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. |
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.
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:
- programy czasem dostają się w ręce innych programistów, którzy te kody w spadku otrzymują,
- 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. |
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. |
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:
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. |
W tym celu z menu Tools wybieramy Options:
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. |
Ja używam koloru R=174, G=255, B=174:
Atmel Studio - Ustawianie kolorów komentarzy. |
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ńznak - (ale długi) też jest podkreślany
Usuńjest tego więcej np w słowie więź, bąk :) literki ź i ą są źle interpretowane
OdpowiedzUsuńCzas na "telefon do przyjaciela", czyli zadanie pytania na forum :-)
UsuńSpróbuję zasięgnąć języka u znawców MS Visual Studio.
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ń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ńNo i super, działa ładnie. Nie będę się musiał pilnować aby pomijać polskie znaki.
OdpowiedzUsuń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ńZnalazłem coś takiego http://studiostyl.es/ czy to się bez problemu da zastosować do AtmelStudio 6.x
OdpowiedzUsuń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ńZamknąłeś i uruchomiłeś ponownie AS?
Usuń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ńŚciągam już najnowszego AS, jeśli to nie pomoże to znów się wkurzę i wrócę do avr-gcc... Pozdrawiam
Usuń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 :-)
UsuńJaki masz system i jaką wersję językową?
Analogia nie do końca pasuje, bo avr-gcc jest też darmowy :)
UsuńMam angielskiego Windowsa 7 Ultimate 64-bity
Już instaluję nowego AS
PS: avr-gcc jest przede wszystkim porządny ;)
Usuń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ń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ńOk, dzięki za pomoc.
Usuń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 :-)
Usuń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.
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.
UsuńProśba: Gdy ustalisz jak zmienić jeżyk dla wersji angielskojęzycznej systemu, napisz proszę, a dopiszę do artykułu.
Literówka ... wyszedł "jeżyk" zamiast "język" :-)
Usuń... klawiatura Microsoft, eh "zakała rodziny" nawet w tym temacie ...
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).
Usuń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ć?
PS: Ale rzeczywiście, możliwe że to już przynajmniej częściowo poprawili.
UsuńPoza tym to bardzo miło z Twojej strony :)
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.
Usuń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!!!
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.
Usuń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ą.
Udało się!
Usuń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!
No pewnie, że się przyda - dodam w artykule informację o Twoim przypadku.
UsuńWesołych Świąt!!!
Dlaczego AtmelStudio podkreśla mi instrukcję "sei();" lub np. "PB1"?
OdpowiedzUsuń