Интегрируйте Polyspace, в то время как вы кодируете в ИДАХ и редакторах без плагинов

Polyspace, когда Вы Кодируете, поддерживает эти ИДЫ с расширениями или плагинами: Visual Studio, Код Visual Studio и Eclipse. Даже если IDE явным образом не поддерживается с Polyspace, когда Вы Кодируете плагин, можно открыть консоль в IDE и запустить Polyspace, когда Вы Кодируете команды или создаете пункт меню, чтобы запуститься, команды на файле в настоящее время открываются в IDE.

Эта тема демонстрирует, как интегрировать Polyspace, когда Вы Кодируете в простом редакторе, таком как Блокнот ++. Можно использовать принципы здесь, чтобы интегрировать Polyspace, когда Вы Кодируете в большинстве редакторов или ИД.

Обзор подхода

В поддерживаемых ИДАХ Polyspace как Вы Расширение кода позволяет вам анализировать файл, который в настоящее время активен в IDE, и смотрите результаты в IDE (как маркеры исходного кода или в списке). В неподдерживаемом IDE или редакторе, можно частично эмулировать этот рабочий процесс, то есть, анализ запуска в IDE и просмотреть результаты. Рабочий процесс состоит из двух шагов:

  • Рабочий анализ и экспортирующие результаты

    Большинство ИД или редакторов обеспечивают переменные окружения, которые решают к текущему пути к файлу. Можно создать пункты меню, которые выполняют скрипт, который запускает polyspace-bug-finder-access команда на этом пути. В том же скрипте можно экспортировать результаты в консоль IDE.

  • Консоль Parsing выход, чтобы позволить навигацию линии

    Каждый Polyspace, когда Вы Кодируете результат в консоли выход, запускается с линии в этом формате:

    filepath:lineNumber:columnNumber
    Здесь, filepath путь к текущему файлу, lineNumber номер строки результата и columnNumber столбец, который начинает лексему с результата. Например:
    C:\MyProj\myFile.c:17:31:
    указывает что файл C:\MyProj\myFile.c содержит результат на линии 17, начинающий со столбца 31. Если можно проанализировать консоль выход, можно позволить навигации выровнять 31 к запуску лексемы, содержащей результат.

Этапы интеграции

Этот пример показывает интегрирование Polyspace, когда Вы Кодируете в простом редакторе, таком как Блокнот ++. Можно следовать за подобными этапами интеграции в других редакторах, таких как GNU Emacs, Сублимированный текст, и так далее.

Шаг 1: настройте запуски скрипта из редактора

В Блокноте ++, можно использовать плагин, такой как NppExec, который позволяет вам выполнять любой скрипт из редактора. Редактор также предоставляет переменной окружения $(FULL_CURRENT_PATH) это решает к файлу, который в настоящее время активен в IDE.

Самый простой скрипт, который может быть запущен в плагине, может быть следующим:

cd $(CURRENT_DIRECTORY)
set POLYSPACE_EXECUTABLES_FOLDER=C:\Program Files\Polyspace as You Code\R2021b\polyspace\bin
set POLYSPACE_ENGINE=$(POLYSPACE_EXECUTABLES_FOLDER)\polyspace-bug-finder-access.exe
set POLYSPACE_REPORT_EXPORTER=$(POLYSPACE_EXECUTABLES_FOLDER)\polyspace-results-export.exe
$(POLYSPACE_ENGINE) -sources $(FULL_CURRENT_PATH)
$(POLYSPACE_REPORT_EXPORTER) -results-dir . -format console
На практике вы можете хотеть задать опции дополнительного анализа с помощью файла опций. Если файл опций называется polyspace_options.txt, команда, чтобы запустить Polyspace, когда Вы Кодируете в предыдущем скрипте, может быть заменена:
$(POLYSPACE_ENGINE) -sources $(FULL_CURRENT_PATH) -options-file polyspace_options.txt
См. также Файлы Опций для Анализа Polyspace.

Для других примеров командной строки смотрите Polyspace Запуска, когда Вы Кодируете от Результатов Командной строки и Экспорта. Например, вместо того, чтобы экспортировать в консоль непосредственно, можно экспортировать результаты в формат JSON, использовать синтаксический анализатор JSON, чтобы группировать результаты, и затем экспортировать их в консоль или использовать их некоторым другим способом.

Шаг 2: настройте парсинг консоли Выход

Плагин NppExec позволяет вам проанализировать консоль выход и перейти к соответствующей строке кода. Можно также опционально применить определенное форматирование к консоли выход.

Например, ваша консоль выход может быть похожей на следующее:

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

Чтобы настроить это представление результатов, выберите Plugins> NppExec и затем выберите опцию Console Output Filters. Следующие опции позволяют предыдущее представление результатов:

Первая маска подсветки указывает что линии, имеющие формат

...:...:...
содержите абсолютный путь к файлу перед первым двоеточием, номером строки между первым и вторым двоеточием и номером столбца (или число символов) после второго двоеточия. Маска считывает информации (файл, линия и столбец), подчеркивает эти линии и окрашивает их в синий.

Вторая маска подсветки просто bolds линии, имеющие формат

...(...)
Эти линии содержат имя результата, например, имя дефекта.

Дальнейшее исследование

Официальный Polyspace как Вы Расширения кода включает другие действия, такие как анализ команд сборки, конфигурирование средств проверки и загрузка базовых линий от Polyspace доступ к веб-серверу. В действительной среде разработки вы хотите анализировать свои команды сборки, чтобы эмулировать ваш набор инструментальных средств компиляции максимально тесно, сконфигурировать средства проверки, которые являются самыми значимыми для вас и базовых результатов так, чтобы вы фокусировались только на новых результатах, прибывающих из ваших изменений.

Можно расширить подход, описанный здесь, чтобы создать пункты меню в IDE или редакторе для всех этих действий. Для получения дополнительной информации об этих рабочих процессах из командной строки см.:

С вашим IDE или редактором, настроенным для Polyspace, когда, Вы Кодируете, можно создать качественный логический элемент для представления. Можно настроить настройку со средствами проверки, для которых вы не хотите открытия в своем представлении. Прежде, чем представить файл, можно убедиться, что вы зафиксировали все результаты от тех средств проверки.

Смотрите также

|