Table of Contents

1. EMACS & ESP-IDF

VSCODE IS TOO SLOW ON MY MACHINE, SO I USE GNU EMACS

1.2. INSTALL EMACS PLUGIN

  • EGLOT
  • COMPANY

EGLOT HAS ALREADY INCLUDED IN THE LATEST VERSION OF GNU EMACS

M-x package-install company

1.3. EDIT EMACS CONFIG FILE

ADD:

(require 'eglot)
(add-to-list 'eglot-server-programs
             '((c++-mode c-mode) .
               ("clangd" "--query-driver=**" "--header-insertion=never")))
(add-hook 'c-mode-hook 'eglot-ensure)
(add-hook 'c-mode-hook 'company-mode)

1.4. CREATE ESP-IDF PROJECT

cd /path/to/esp-idf/
. export.sh
cd /xxx/xxx
idf.py create-project hello
cd hello
idf.py set-target esp32xx
idf.py build
idf.py flash -p /dev/ttyACMX

1.5. ADD CLANGD CONFIG FILE

WE NEED FIX CLANGD TO WORK IN A CROSS COMPILATION ENVIRONMENT

ADD .clangd ON PROJECT ROOT:

CompileFlags:
  Add: -Wno-unknown-warning-option
  Remove: [-m*, -f*]
Diagnostics:
  UnusedIncludes: None
CompileFlags:
  BuiltinHeaders: QueryDriver

1.6. LINK compilecommands.json

cd hello/
ln -sf build/compile_commands.json .

1.7. USE EMACS

cd hello/
emacs main/hello.c

THEN TYPE 'prin' TO TEST EGLOT AND COMPANY WORKING

Author: human

Created: 2026-05-02 Sat 22:54

Validate