[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"project-8217895":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":41,"post_text":42,"what":43,"said":88,"maker_in_thread":172,"shape":184,"grid":188,"attempts":277,"same_week":278,"maker_shows":194,"maker_hidden":307,"reader_version":308,"card":309},"8217895","C\u002FC++ Development Environment for Emacs","title","Show HN: C\u002FC++ Development Environment for Emacs","http:\u002F\u002Ftuhdo.github.io\u002Fc-ide.html","tuhdo.github.io","tuhdo",1408862207,2014,146,40,170,2272,8,"notable","dev_tools","editor configuration","other",[23,24,25,26,27],"emacs","cedet","c++ ide","ggtags","semantic","roasted",-0.429,{"positive":31,"neutral":32,"mixed":33,"critical":34},0,3,1,6,10,{"idea":37,"docs":38,"execution":39},{"positive":31,"critical":31},{"positive":31,"critical":33},{"positive":31,"critical":40},5,[31,32,33,31,31,31,31,31,33,31,33,31,31,33,31,33,31,32,31,32,31,31,33,31,31,31,31,31,31,31,31,31,31,31,32,31,31,31,31,31],null,{"problem":44,"audience":51,"pricing":42,"motivation":60,"time_to_build":42,"stack":64,"openness":85,"stage":86,"team_size":87},{"value":45,"source":46,"evidence":47},"Setting up an efficient C\u002FC++ navigation and editing environment in Emacs","maker",[48],{"id":49,"by":10,"text":50},"8218189","What's so complex? I wrote in the very beginning of the guide: \"In this guide, I will help you to setup an efficient working C\u002FC++ environment. Despite looking long, the setup is…",{"value":52,"source":53,"evidence":54},"Emacs users writing C\u002FC++ code","inferred",[55,56],{"id":49,"by":10,"text":50},{"id":57,"by":58,"text":59},"8218405","crististm","I can understand where he is coming from. At least in my case the question was - how come there is no package that does all this by default? Install the package and that's it...…",{"value":61,"source":46,"evidence":62},"Help people set up a working C\u002FC++ environment in Emacs",[63],{"id":49,"by":10,"text":50},[65,71,77],{"value":66,"source":46,"evidence":67},"Emacs Lisp",[68],{"id":69,"by":10,"text":70},"8218229","Because such refactoring is not really needed. You can do easily with sed. What's so difficult about using Elisp to configure your editor? If you know how to turn on a light…",{"value":72,"source":46,"evidence":73},"CEDET",[74],{"id":75,"by":10,"text":76},"8218159","Thanks for the info. You must be David Engster, the current CEDET maintainer. Yes, I agree with the preprocessor handling since we still have manually tell Semantic what…",{"value":78,"source":79,"evidence":80},"GNU Global (ggtags)","commenter",[81],{"id":82,"by":83,"text":84},"8218093","euid","If anyone follows this and happens to like GNU Global\u002Fggtags (I did), there's a Pygments plugin released earlier this year that enables it to use any language that can be parsed…","open_source","launched","solo",{"praise":89,"objections":100,"requests":126,"questions":139,"alternatives":144},[90,94],{"value":91,"source":79,"evidence":92},"Guide is useful and practical for navigating the Linux kernel",[93],{"id":57,"by":58,"text":59},{"value":95,"source":46,"evidence":96},"CEDET works well with Boost and templates for completion",[97],{"id":98,"by":10,"text":99},"8218036","AutoComplete has nothing to do with C\u002FC++. It's just a package for displaying completion candidates, but you must give it a source for displaying. It is pretty outdated compare…",[101,108,119],{"value":102,"source":79,"evidence":103},"Guide is too much of an information dump for novices",[104],{"id":105,"by":106,"text":107},"8217960","CJefferson","While it's good to see the work you put into this article, for the emacs novice it really is far too much of an information dump, in particular it's a little difficult to keep…",{"value":109,"source":79,"evidence":110},"Emacs C++ tooling does not handle modern C++11 or heavy templates well",[111,115],{"id":112,"by":113,"text":114},"8218149","deng","Regarding the C++ parser, here's the current state: It does not support any C++11. Especially 'auto' is problematic, since type inference is quite a hard problem. Basic templates…",{"id":116,"by":117,"text":118},"8219081","mandor","It is not really linked to boost, but meta-programming make many things many difficult for an IDE (whatever the IDE is). For instance, I could have this class: template\u003Ctypename…",{"value":120,"source":79,"evidence":121},"Emacs setup is overly complex compared with IDEs",[122],{"id":123,"by":124,"text":125},"8218173","sprash","This actually convinced me to never use Emacs as C\u002FC++ IDE ever. The amount of unnecessary complexity is astounding.",[127,135],{"value":128,"source":79,"evidence":129},"Provide a basic config or package install for easy setup",[130,131,134],{"id":105,"by":106,"text":107},{"id":132,"by":117,"text":133},"8218024","I agree: this is not C\u002FC++ IDE, this is a C IDE (and maybe a \"C-with-classes\" IDE). None of these emacs packages (e.g. CEDET) handle modern C++ well (heavy use of generic…",{"id":57,"by":58,"text":59},{"value":136,"source":79,"evidence":137},"Support for modern C++ and Boost in the parser",[138],{"id":112,"by":113,"text":114},[140],{"value":141,"source":79,"evidence":142},"How well does it handle templates and C++11 features",[143],{"id":105,"by":106,"text":107},[145,164],{"value":146,"source":79,"evidence":147},"PyCharm, Eclipse CDT, Qt Creator, Visual Studio, Xcode",[148,152,156,160],{"id":149,"by":150,"text":151},"8218205","Erwin","After a few years with PyCharm I'm not excited to manually write wads of elisp to get basic functionality. Instead I pay the JetBrains people a negligible sum per year (and the…",{"id":153,"by":154,"text":155},"8219232","winter_blue","I primarily use Eclipse CDT (C\u002FC++ Development Tools) these days, because it's free and runs on Linux\u002FMac. However, my favorite C++ IDE so far has been Visual Studio with the…",{"id":157,"by":158,"text":159},"8219342","malkia","I love emacs, and use it daily for lots of text-editing, but since I've been learning Qt, I've been using Qt Creator and seems much easier to get certain things (which granted…",{"id":161,"by":162,"text":163},"8218449","coliveira","If you work on a Mac, Xcode is the best IDE for C++. I initially thought that it handled only objective-c, but was quite surprised by how efficient it is in handling C++ syntax.",{"value":165,"source":46,"evidence":166},"rtags, clang-ctags, company-clang, clang-completion-mode",[167,168],{"id":98,"by":10,"text":99},{"id":169,"by":170,"text":171},"8218106","signa11","there is always the clang-completion-mode which uses clang\u002Fllvm infratructure for more comprehensive emacs integration...",{"comments":173,"answered":32,"key":174},13,[175,178,181],{"id":176,"text":177},"8218193","I added a demo on how CEDET works with Boost: http:\u002F\u002Ftuhdo.github.io\u002Fstatic\u002Fc-ide\u002Fsemantic-boost-demo.gif Here you also have an outline tree the Emacs way, which is very…",{"id":179,"text":180},"8218021","I think it's pretty basic. I created a demo repo for people to play with, so they don't have to configure themselves: https:\u002F\u002Fgithub.com\u002Ftuhdo\u002Femacs-c-ide-demo For C++, CEDET…",{"id":182,"text":183},"8218182","Well currently I only work with C not C++ anymore so my knowledge might be outdated. I thought that the rvalue reference is something new in C++11, as I read it here:…",{"commenters":185,"max_depth":34,"maker_replies":173,"first_comment_mins":186,"lifespan_hours":187},22,61,159,[189,191,193,196,198,202,203,205,207,209,211,212,214,216,217,219,220,222,224,227,230,232,235,237,239,241,242,243,247,249,251,253,256,257,258,262,264,268,270,274],[176,31,31,190,10,33],"project\u002Fpositive\u002Fperformance",[82,33,32,192,83,31],"project\u002Fneutral\u002Fidea",[105,194,33,195,106,31],2,"project\u002Fcritical\u002Fdocs",[179,194,31,197,10,33],"project\u002Fneutral\u002Fnone",[199,194,31,200,201,31],"8218168","commenter\u002Fneutral\u002Fnone","stinos",[182,194,31,200,10,33],[204,194,31,200,201,31],"8218214",[206,194,31,200,10,33],"8218305",[132,194,33,208,117,31],"project\u002Fcritical\u002Fexecution",[98,194,31,210,10,33],"project\u002Fneutral\u002Fexecution",[112,194,33,208,113,31],[75,194,31,213,10,33],"maker\u002Fpositive\u002Fexecution",[215,194,31,200,113,31],"8218170",[116,194,33,208,117,31],[169,194,31,218,170,31],"other\u002Fneutral\u002Fnone",[123,32,33,208,124,31],[49,32,31,221,10,33],"maker\u002Fneutral\u002Fdocs",[57,32,32,223,58,31],"project\u002Fmixed\u002Fdocs",[225,32,31,218,226,31],"8218471","pjmlp",[228,32,32,197,229,31],"8219784","GFK_of_xmaspast",[231,32,31,200,10,33],"8220570",[233,32,31,200,234,31],"8221052","Jacky800",[157,236,33,208,158,31],4,[238,236,31,221,10,33],"8220772",[240,236,31,218,234,31],"8221065",[149,40,31,218,150,31],[69,40,31,200,10,33],[244,40,31,245,246,31],"8218465","commenter\u002Fcritical\u002Fnone","emsy",[248,40,31,200,10,33],"8218594",[250,40,31,200,246,31],"8218833",[252,40,31,245,226,31],"8218475",[254,40,31,218,255,31],"8218375","bowlofstew",[161,40,31,218,162,31],[153,40,31,218,154,31],[259,34,32,260,261,31],"8218540","maker\u002Fneutral\u002Fnone","donniezazen",[263,34,31,260,10,33],"8218569",[265,266,31,218,267,31],"8221592",7,"fvinci",[269,266,31,221,10,33],"8221609",[271,266,31,272,273,31],"8247693","other\u002Fneutral\u002Fdocs","hvis",[275,17,31,218,276,31],"8218339","jonathanmarvens",[],[279,284,288,293,297,302],{"id":280,"name":281,"points":282,"category":283},"8222652","GlassWire",1013,"security_privacy",{"id":285,"name":286,"points":287,"category":19},"8211575","Stellar",325,{"id":289,"name":290,"points":291,"category":292},"8206855","WhiteboardFox",309,"productivity",{"id":294,"name":295,"points":296,"category":19},"8208595","Duo",168,{"id":298,"name":299,"points":300,"category":301},"8223200","GoReturnMe",145,"consumer_social",{"id":303,"name":304,"points":305,"category":306},"8210972","ZipLocate",140,"data",false,"v2",{"id":310,"name":5,"line":5,"ai":307,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":311,"top":17,"kw":312,"maker":10,"domain":9,"tier":18,"attempts":31,"strip":313,"url":8,"mix":314,"praise":91,"objection":102,"sub":20},8217895,-0.43,[23,24,25,26,27],"0310000010100101030300100000000000300000",[31,32,33,34],1793990911023]