{"id":63,"date":"2009-09-21T13:39:23","date_gmt":"2009-09-21T11:39:23","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=63"},"modified":"2022-08-20T18:26:12","modified_gmt":"2022-08-20T16:26:12","slug":"ecb-emacs-code-browser","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=63","title":{"rendered":"ECB (Emacs Code Browser)"},"content":{"rendered":"<p><strong>ECB <\/strong>(Emacs Code Browser) es una feature para Emacs que muestra un n\u00famero de ventanas informacionales que generan una vista general as\u00ed como facilitan la navegaci\u00f3n de c\u00f3digo fuente. Para utilizar <strong>ECB <\/strong>es requerido tener instalado y configurado <strong>CEDET <\/strong>(explicado en el art\u00edculo anterior) y al menos emacs 21 o superior. Adem\u00e1s de ello, ECB se puede combinar (de manera perfectamente compatible) con el paquete <strong>JDEE <\/strong>(Java Development Environment for Emacs).<\/p>\n<p>Las ventanas informacionales que puede mostrar <strong>ECB <\/strong>son:<\/p>\n<ul>\n<li><strong>ECB-Directorioes<\/strong>: Un \u00e1rbol de directorios.<\/li>\n<li><strong>ECB-Sources<\/strong>: Lista de ficheros del directorio actual (con soporte completo de <strong>VC <\/strong>(Version Control)).<\/li>\n<li><strong>ECB-Methods<\/strong>: Lista de funciones, clases, m\u00e9todos del fichero actual (usando CEDET-Semantic, Imenu, Etags, etc&#8230; para obtener un listado sobre el lenguaje actual).<\/li>\n<li><strong>ECB-History<\/strong>: Historial de ficheros visitados.<\/li>\n<li><strong>ECB-Analyse<\/strong>: Ventana ECB Auto-updated para Semantic-analyzer.<\/li>\n<li><strong>ECB-Symboldef<\/strong>: Ventana para mostrar la documentaci\u00f3n del s\u00edmbolo actual.<\/li>\n<\/ul>\n<p>Adem\u00e1s de ello incluye:<\/p>\n<ul>\n<li>Un speedbar.<\/li>\n<li>La salida (output) de la compilaci\u00f3n (Compilation-window).<\/li>\n<\/ul>\n<p><strong>ECB <\/strong>tiene en cuenta comandos como <strong>C-x 1<\/strong> para seguir manteniendo la informaci\u00f3n visible con el manejo y modificaci\u00f3n de ventanas. Lo que primero debemos hacer es decargar ECB de la web oficial:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"http:\/\/ecb.sourceforge.net\/\" target=\"_blank\" rel=\"noopener\">http:\/\/ecb.sourceforge.net\/<\/a><\/p>\n<p>Hecho esto, tan s\u00f3lo debemos descomprimir <strong>ECB<\/strong> con <strong>tar xvf ecb-version.tar<\/strong> y a\u00f1adir ciertas l\u00edneas a nuestro <strong>.emacs<\/strong>:<\/p>\n<p style=\"padding-left: 30px;\"><em>(add-to-list &#8216;load-path \u00ab~\/ecb-2.40\u00bb) ;; Add ECB-install-directory to the load-path<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>(load-file \u00ab~\/ecb-2.40\/ecb.el\u00bb) ;; Add to load-path<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>(require &#8216;ecb) ;; Load ECB (ECB-options available after this step)<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>(require &#8216;ecb-autoloads) ;; Load ECB after starting it (fast loading but ECB-* and semantic-options available after ECB)<\/em><\/p>\n<p>Al final el conjunto de ventanas suele quedar as\u00ed:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/img121.imageshack.us\/img121\/3555\/ecb.png\" alt=\"\" \/><\/p>\n<p>Por \u00faltimo decir que se puede obtener un mayor control de las ventanas fundamentales, pero para no extenderme m\u00e1s en el art\u00edculo mostrar\u00e9 el camino para qui\u00e9n quiera profundizar.<\/p>\n<ul>\n<li>Para profundizar en <a href=\"http:\/\/ecb.sourceforge.net\/docs\/Basic-ECB_002dwindows.html#Basic-ECB_002dwindows\" target=\"_blank\" rel=\"noopener\">las ventanas b\u00e1sicas de ECB<\/a>.<\/li>\n<li>Para profundizar en <a href=\"http:\/\/ecb.sourceforge.net\/docs\/Add_002don-ECB_002dwindows.html#Add_002don-ECB_002dwindows\" target=\"_blank\" rel=\"noopener\">las ventanas opcionales de ECB<\/a>.<\/li>\n<li>Tutorial completo del <a href=\"http:\/\/ecb.sourceforge.net\/docs\/index.html#Top\" target=\"_blank\" rel=\"noopener\">uso de ventanas de ECB<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>ECB (Emacs Code Browser) es una feature para Emacs que muestra un n\u00famero de ventanas informacionales que generan una vista general as\u00ed como facilitan la navegaci\u00f3n de c\u00f3digo fuente. Para utilizar ECB es requerido tener instalado y configurado CEDET (explicado en el art\u00edculo anterior) y al menos emacs 21 o superior. Adem\u00e1s de ello, ECB [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[98,8,105],"class_list":["post-63","post","type-post","status-publish","format-standard","hentry","category-basic","tag-ecb","tag-emacs","tag-jdee"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/63"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=63"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":780,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/63\/revisions\/780"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}