CLion не может обнаружить классы из источников и не имеет intellisense / завершения кода - PullRequest
1 голос
/ 15 марта 2019

Я использую CLion, поэтому я могу (надеюсь) иметь возможность:

  • Завершение кода для типа файла, который зарегистрирован как файл c ++ (В моем случае тип файла называется .hps)
  • В полной мере используйте функции выделения ошибок и все intellisense в моих файлах .hps
  • Уметь использовать классы из других файлов hps, расположенных в разных папки в моем проекте.

Общая раскраска в стиле c ++ работает, однако CLion не будет уведомлять меня о синтаксических ошибках в файлах hps:

CLion won't notify me about syntax errors inside hps files

  • CLion не найдет исходные файлы, которые я включаю, и поэтому не найдет обнаруживать любые классы, которые объявлены внутри других файлов hps и их методы (все папки, которые включают, что файлы hps расположены внутри папки с именем «script»

Реализация того, что я пытаюсь включить:

Implementation of what I'm trying to include

И как вы можете видеть, он не обнаруживает это:

And as you can see, it does not detect it

Теперь, это настройка моего проекта:

  1. Мой проект находится и открывается в папке, в которой есть папка он называется «скрипт», в котором все файлы .hps, которые я включаю, являются есть.
  2. Я установил файл CMakeLists.txt, который работает в среде MinGW. это полное содержание этого файла:

    This is the full content of that file

  3. В моей папке PARENT есть файл hps_api.hps, который также содержит объявления классов. Обратите внимание, что CLion не обнаружит это также. Я сделал что-то неправильно? Единственное, что я в значительной степени сделал, чтобы добавить каталоги включения в файл cmake, но я думаю, этого мало?

В другой программе, например, под названием CodeLite, можно просто добавить в список путь к поисковым файлам для включения, а затем CodeLite анализирует эти файлы, и я могу без проблем перейти к объявлениям классов. Конечно, это возможно и с CLion, верно?

1 Ответ

0 голосов
/ 15 марта 2019

Синтаксические ошибки

Возможно ли, что у вас Режим энергосбережения активирован из меню Файл ?Если он активирован, некоторые функции синтаксического анализа кода могут быть отключены.

Тип файла .hps

Я предполагаю, что у вас уже есть тип файла .hps, зарегистрированный как файл C / C ++ вSettings -> Editor -> File Types.Если нет, вы должны зарегистрировать его!

CMakeLists

Возможно, вам потребуется настроить еще несколько свойств, таких как имя проекта и цель, чтобы связать проект с файлами, которые вы используете.

cmake_minimum_required(VERSION 3.12)
project(YourProjectName VERSION 0.1.0)

include_directories(script/agents)
include_directories(script/areas)
include_directories(script/base)

add_executable(YourProjectName main.cpp header1.hpp source1.cpp path/to/header2.hpp path/to/source2.cpp)

Если вы создаете не исполняемый файл, а библиотеку, вам может понадобиться использовать add_library.Синтаксис вы можете проверить в документации .

Надеюсь, это поможет!

...