abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    dnes 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 3
    dnes 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    včera 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (62%)
     (0%)
     (8%)
     (15%)
     (8%)
     (15%)
     (8%)
     (15%)
    Celkem 13 hlasů
     Komentářů: 1, poslední dnes 13:49
    Rozcestník

    Code completion ve VIMu II.

    24.5.2005 19:43 | Přečteno: 2061× | takruzne

    Po tom, co jsem zkousel pracovat s programem IComplete, jsem dosel k zaveru, ze je to asi nejvydarenejsi doplnovani, co se tyka C, C++. Ja jsem osobne zkousel jen C++ zdrojaky, takze s C a Javou se muzou objevit jine zaludnosti, nebo taky ne. Tenhle zapis navazuje volne na tento blog Martina Fialy.

    Aktualni verzi icomplete bych pochvalil pro jeji rychlost a prehlednost nastaveni i vubec vzhledu. V podstate se da rici, ze je to prijemny doplnek Vimu, a az na male drobnosti je to pouzitelna verze.

    V souboru /etc/icomplete.conf nebo pripadne v ~/.icompleterc muzete urcit prohledavane cesty. Cesty se neprohledavaji rekurzivne. Takze kdyz nastavite jednu cestu na /usr/include/, pak jeste musite dodat napriklad pro STL /usr/include/c++/3.4/. Lze take urcit cestu k headrum napr. takto: #include <boost/regex.hpp> s tim, ze nedefinujete /usr/include/boost v konfigurakach, ale vystacite si s /usr/include/.

    Jak psal Martin, pro aktualizaci cache je urcena serie klaves Ctrl-X, Ctrl-X, Ctrl-U a pro vyvolani napovedy za operatory ::, . a -> Ctrl-X,Ctrl-U. Pokud je trida/struktura/template deklaravana primo v souboru, kde je zaroven i pouzita, pak je nutne pouzit zmineny update cache, a nebo, pokud to nezabere, i zmenit/premazat/umazat nejaky #include <...>, aby se tak donutil icomplete aktualizovat cache. V jinych pripadech mi to spolehlive za temito operatory doplnovalo.

    Operatory . a -> v kombinaci s *, tj. ->* a .* v pripade ukazatelu na clensky funkce se nedoplnuji. Pristupovat pomoci :: ke globalnimu cokoliv nelze. Jedine bez ::.

    V pripade sablon to take neni 100%. Nastavaji v podstate dva problemy: Pokud napr. mame sablonu trid pro manipulaci objektu v poli, tj. mame definovany operator [], ktery vraci const T& nebo T&, pak IComplete nedoplnuje metody, cleny tridy(class, typename) T. To same plati i pro operator ().

    ...
    ....
    
    Array strArray;
    strArray[0].capacity(); //nedoplni
    
    Druhy problem je doplneni typu:
    template 
    struct GetEasyType
    {
    public:
      typedef T value_type;
      typedef T& reference;
      typedef const T& const_reference;
    };
    
    typedef GetEasyType<std::string>::const_reference const_reference;
    //opet za >:: icomplete nedoplni
    
    

    Jmenny prostory. Pracuji pekne s tim, ze obsahuji podmnozinu uvedenych problemu, krome updatu cache pomoci zmeny #includu. Po zadani std:: okamzite (mam 900Mhz) na vas vyskoci nabidka vsech moznosti. Nabidka je doplnovana dynamicky s tim, jak pridavate/ubirate #includy. Takze po zadani #include <exception> se std:: pekne a okamzite doplni o tridu std::exception.

    Vykreslovani se mi taky libi. Je poteseni pro oko videt, jak se vam snazi Vim poradit, i kdyz nekomu to mozna nebude prijemny, tak ja sem ocenil, jak se snazi za kazdym operatorem pristupu reagovat. Nekdy se nabidka scvrkne do jednoho zahybu, takze pro ty, kdo z vas pouzivate folding, nez bude dalsi verze, tak muzete misto set foldmethod=marker pouzit setlocal foldmethod=marker a misto napr. set foldmarker={,} pouzit setlocal foldmarker={,}

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    elviin avatar 24.5.2005 19:48 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše oprava
    K doplnovani metod sablon trid:
    Array <std::string> strArray;
    strArray[0].capacity(); //nedoplni
    
    
    24.5.2005 20:25 iZaak | skóre: 2 | blog: ECHO_Echo_echo_cho
    Rozbalit Rozbalit vše Jiné jazyky
    Hmm, nice. Jen mě napadlo, jestli existuje i něco podobného pro php. Popřípadě nějaká osobní zkušenost.. ;)
    Vím, že nic nevím... Ale pracuju na tom.
    25.5.2005 08:50 Martin Lebeda | skóre: 22 | blog: Martinuv_blog | Plzeň
    Rozbalit Rozbalit vše Re: Jiné jazyky
    Mě by se zase nejvce hodilo PL/SQL a Perl, nejlepší by asi byl obecný interface nad externí generátor seznamu proměnných, funkcí, tříd atd (nejlépe seznamu vč. specifikace očekávaných parametrů).
    Ku8aZ avatar 26.5.2005 11:47 Ku8aZ | skóre: 17
    Rozbalit Rozbalit vše Tags soubor
    Zajimalo by me, jestli jde nejak nastavit soubor tags, ktery se vytvari, aby se vytvarel pouze na jedno misto a ne do . adresare...
    Čeho se vlastně člověk bojí, když se bojí tmy...? jabber: ku8az AT jabbim.cz
    elviin avatar 20.6.2005 16:18 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Icomplete 0.2.1

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.