VSCode — исключить определенную папку / файл из анализа IntelliSense

#visual-studio-code #intellisense

#visual-studio-code #intellisense

Вопрос:

У меня проблема с синтаксическим анализом C / C IntelliSense. Когда объявление функции, описанное в одном файле с тем же именем, используется для typedef в другом файле. Объяснение: На изображении мы имеем следующую структуру папок и файлов:

Структура файлов

файл dir1/f1.h содержит:

 typedef int func1;
  

файл dir2/f1.h содержит:

 void func1(void);
  

файл dir2/f1.c содержит:

 #include "f1.h"

void func1(void) {
   // do something
}
  

файл main.c содержит:

 #include "f1.h"

int main(void) {
    func1();
}
  

Когда я использую команду перейти к определению, IntelliSense переходит к файлу dir1 / f1.h, потому что последним открытым файлом был dir1 / f1.h . Если последним открытым файлом был dir2 / f1.h, IntelliSense перейдет к dir2 / f1.h или dir2 / f1.c.

Мне интересно, как исключить dir1 или dir1 / f1.h из анализа IntelliSense, но не из рабочей области и результатов поиска? Итак, мне нужно следующее:

  • IntelliSense игнорирует / не анализирует dir1 или dir1 /f1.h
  • dir1 и dir1 / f1.h присутствуют в представлении рабочей области
  • поисковик не игнорирует dir1 / f1.h

Комментарии:

1. Вы когда-нибудь находили ответ на это? Я переписываю некоторый код и хотел бы, чтобы старый код был виден для справки, но если я оставлю его в том же корневом каталоге (с библиотеками зависимостей и т.д.), intellisense делает всевозможные безумные вещи с включениями, даже если это несколько каталогов из файлов, с которыми я работаю. Я бы хотел исключить его из Intellisense, но при этом иметь возможность доступа и просмотра файлов в одной рабочей области. (На данный момент я помещаю его в отдельный корневой каталог и просто запускаю два окна, но это неоптимально.)

2. Привет @dwllama, я не нашел ответа или какого-либо удобного обходного пути. Я думаю, мне нужно создать тикет функции в сообществе vscode на github.