From 587ec4c744c066b923bfefaa18e333ffdf22a7a4 Mon Sep 17 00:00:00 2001 From: Supper Thomas <78900636@qq.com> Date: Wed, 11 Dec 2024 07:53:53 +0000 Subject: [PATCH 1/3] tools: add clangd support --- tools/vsc.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/vsc.py b/tools/vsc.py index 7d23f17958d..c663ef4d837 100644 --- a/tools/vsc.py +++ b/tools/vsc.py @@ -110,6 +110,13 @@ def GenerateCFiles(env): if path['path'] != '.': path['name'] = 'rtthread/' + '/'.join([p for p in path['path'].split('\\') if p != '..']) json_obj['folders'] = path_list + if os.path.exists('compile_commands.json'): + json_obj['settings'] = { + "clangd.arguments": [ + "--compile-commands-dir=.", + "--header-insertion=never" + ] + } vsc_space_file.write(json.dumps(json_obj, ensure_ascii=False, indent=4)) vsc_space_file.close() return From 73b562b112809594c6c7223642225367c32f637a Mon Sep 17 00:00:00 2001 From: Supper Thomas <78900636@qq.com> Date: Wed, 11 Dec 2024 08:21:37 +0000 Subject: [PATCH 2/3] [tools] use pip install scons --- .devcontainer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f8ca9c36131..1ce9a79c9c7 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -9,7 +9,7 @@ RUN apt-get update RUN apt-get upgrade -y -RUN apt-get install -y vim git wget python3 python-is-python3 pip gcc-arm-none-eabi scons libncurses5-dev +RUN apt-get install -y vim git wget python3 python-is-python3 pip gcc-arm-none-eabi libncurses5-dev RUN DEBIAN_FRONTEND=noninteractive apt-get install -y qemu-system-arm @@ -34,7 +34,7 @@ RUN git clone https://github.com/RT-Thread/packages.git /root/.env/packages/pack ENV PATH="/root/.env/tools/scripts:$PATH" -RUN pip install requests psutil kconfiglib tqdm -qq +RUN pip install scons requests psutil kconfiglib tqdm -qq ENV RTT_EXEC_PATH=/usr/bin From 1b66eb0d39e7608f16db62e6e65878f595e5fdbe Mon Sep 17 00:00:00 2001 From: Supper Thomas <78900636@qq.com> Date: Wed, 11 Dec 2024 09:14:51 +0000 Subject: [PATCH 3/3] [tools/vsc] fix path for in windows and linux --- tools/vsc.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/vsc.py b/tools/vsc.py index c663ef4d837..eb20dd0b3c5 100644 --- a/tools/vsc.py +++ b/tools/vsc.py @@ -108,7 +108,9 @@ def GenerateCFiles(env): target_path_list = [] for path in path_list: if path['path'] != '.': - path['name'] = 'rtthread/' + '/'.join([p for p in path['path'].split('\\') if p != '..']) + normalized_path = path['path'].replace('\\', os.path.sep) + segments = [p for p in normalized_path.split(os.path.sep) if p != '..'] + path['name'] = 'rtthread/' + '/'.join(segments) json_obj['folders'] = path_list if os.path.exists('compile_commands.json'): json_obj['settings'] = {