From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tu Hoang Do Newsgroups: gmane.emacs.help Subject: Re: A guide on setting up C/C++ development environment for Emacs Date: Wed, 27 Aug 2014 20:18:27 +0700 Message-ID: References: <513ad0e2-f7f4-484c-b17b-7c94a8c2fc7a@googlegroups.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1409145539 1705 80.91.229.3 (27 Aug 2014 13:18:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 27 Aug 2014 13:18:59 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: Dmitriy Igrishin Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Aug 27 15:18:52 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XMd7i-0000oF-W8 for geh-help-gnu-emacs@m.gmane.org; Wed, 27 Aug 2014 15:18:51 +0200 Original-Received: from localhost ([::1]:59529 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMd7i-00055S-IS for geh-help-gnu-emacs@m.gmane.org; Wed, 27 Aug 2014 09:18:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57187) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMd7W-00055L-Ic for help-gnu-emacs@gnu.org; Wed, 27 Aug 2014 09:18:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMd7M-0001Bw-LY for help-gnu-emacs@gnu.org; Wed, 27 Aug 2014 09:18:38 -0400 Original-Received: from mail-ob0-x22f.google.com ([2607:f8b0:4003:c01::22f]:60306) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMd7M-0001Bi-DP for help-gnu-emacs@gnu.org; Wed, 27 Aug 2014 09:18:28 -0400 Original-Received: by mail-ob0-f175.google.com with SMTP id wp18so137862obc.34 for ; Wed, 27 Aug 2014 06:18:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Vk2PteR547Bd+h2IddiEL6EGbB7/GkzCc5l+XydBrs0=; b=J9hqnVlnafXalGBSUveSrWhPosu7k1u0BnPbelqjrI2b5LDLzmN4fwe1iPQuytnphj GrznYk2DDwfOVpguVw4nlH2nWcEvQZnODvzUFDPZffZBbIlZhkP3pUVphVoaMlc+F1jR AHGq7GpOjByhf+PFXbvIxRQMCYM1RkcGBiM1++bFFAAjdBTYWUU8G+rD98Rn3f19BhHp Eu6+5FldX/r2N3upLztbLC+42dcPCfIo2G5gNnjk6lsr7wtV2M9e7yYYc5F2FbdpZQXo HHpnxq6DZHSb0Q5sQKkWWOHw04cwp0vfPuuExSqyHFDVOm0x46TNCbwSxXdL8SXvy4MQ d2rA== X-Received: by 10.60.52.115 with SMTP id s19mr33921710oeo.21.1409145507341; Wed, 27 Aug 2014 06:18:27 -0700 (PDT) Original-Received: by 10.76.176.71 with HTTP; Wed, 27 Aug 2014 06:18:27 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c01::22f X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:99414 Archived-At: CEDET is not slow. It's reasonably fast given it is implemented in Emacs Lisp. It needs time for parsing to build a database, so you see a message printing this: parsing.... in the minibuffer. It needs parsing to build up a database for smart completion. After the first time parsing, completion happens instantly and you should enable Semanticdb minor mode to save the parsing results, so CEDET won't have to parse the next time. CEDET can handle project with the size of Emacs really well. I think even project with more than a million lines of code. CEDET is the only viable solution so far I found for real smart completion in Emacs. Other clang based solution is pretty limited: you can only get completion from system header and current directory, but not for your project. You have to add the include paths to tell Clang where your project include paths are, and you have to specify with absolute paths. It's really tedious. On Wed, Aug 27, 2014 at 7:48 PM, Dmitriy Igrishin wrote: > Hi, > > Amazing work. Thank you! > > Although, I don't use CEDET because it's terrible slow for me. > > > 2014-08-27 11:05 GMT+04:00 : > >> Hi list, >> >> I wrote a guide on setting up C/C++ development in Emacs that covers the >> following topics: >> >> - Source code navigation: jump around Linux kernel with easy, find any >> file in project, find any definition and reference in project. >> - Smart completion with CEDET and Semantic. >> - More code navigation with Senator. >> - Project management with EDE and Projectile. >> - Display source code source code information with >> semantic-idle-summary-mode and semantic-sticky-func-mode. >> semantic-idle-summary-mode displays function interface in the minibuffer >> and semantic-sticky-func-mode displays interface of current function point >> is in. >> - Utilities for source code editing. >> - Compile with Compilation mode. >> - Debugging with GDB Many Windows or plain old GUD. >> >> The link: http://tuhdo.github.io/c-ide.html >> > > > > -- > // Dmitriy. > >