#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.