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 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Code completion ve VIMu II.

    24.5.2005 19:43 | Přečteno: 2109× | 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.