Visual Studio Code - взаимосвязанные переменные среды - PullRequest
0 голосов
/ 08 октября 2019

Я исследую, насколько целесообразным было бы переключиться на код Visual Studio с более крупными и сложными проектами в C ++ с помощью cmake и столкнуться с проблемой переменных среды.

Некоторые проектыЯ имею дело со сложной структурой взаимосвязанных переменных среды, в настоящее время это решается в основном ручным построением в приглашении bash

$ source envSetupFile
$ mkdir build && cd build
$ cmake .. && make -j $(nproc)

, где envSetupFile содержит множество различных переменных, большинство случаев связано снабор инструментов и некоторые конкретные настройки. Когда это просто простые строки, все работает нормально, однако есть много случаев, когда переменные зависят от другой, например, что-то вроде (в bash)

export PATH=/opt/custom/lib: $PATH
export ROOT=/some/path
export BIN=$ROOT/bin
export LIB=$ROOT/lib

что я сделал

Iустановил пакет расширения c / c ++ вместе с пакетами CMake и CMakeTools, а также EditorConfig для кода VS и добавил пользовательские строки в конфигурацию Visual Studio в рабочей области: /projectpath/.vscode/cmake-kits.json где я устанавливаю переменные среды, но пока могу устанавливать (и проверять)Работа, определенная непосредственно, любая, которая требует значения другого, полностью проваливается.

пример:

    "environmentVariables":{
        "POTATO": "aaa",
        "CARROT": "bbb",
        "CABAGE": "${POTATO}/${CARROT}"
    }

Я ожидаю, что впоследствии при запуске cmake, который ссылается на $ {CABAGE}, разрешит его как aaa/bbb, но вместо этого он принимает их как строковые литералыи выдает ${POTATO}/${CARROT} как ouptut

Должен признаться, я немного удивлен отсутствием следов такого варианта использования в документации или примерах, которые я видел до сих пор. Возможно, кто-то может протянуть руку? (Я использую версию кода VisualStudio: 1.36.1 в Ubuntu 16.04)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...