Я использую VScode как на своем Macbook, так и на своем ПК, и мои настройки синхронизируются. Я использую coderunner для запуска своих программ на Python. Моя проблема в том, что в моем settings.json команда, которую я использую для запуска моей программы на моем Mac, отличается от той, которую мне нужно использовать на моем ПК. Конкретная команда, которую я использую,
clear && python3 -u
. Поскольку Vscode запускает мой код через терминал, он очищается каждый раз, когда я его запускаю. Когда я нахожусь на своем ПК, а не на своем Mac, команда не работает. Я не хочу менять команду в настройках каждый раз, когда переключаюсь между компьютерами. Вот так выглядят настройки.
Сначала я попытался переключить его на просто py
в настройках моего ПК, так как это команда, которая нужна командной строке ПК для активации python. Но даже это выдало мне ошибку и изменило настройки моего макбука. Есть ли что-то в настройках, которое я могу добавить или изменить, чтобы отключить синхронизацию? Или я просто справляюсь с этим? Я не хочу рассинхронизировать все остальное, если это возможно.
@LexLi настройки фактически синхронизируются автоматически, как только мы входим в учетную запись Microsoft или Github. Но я действительно нашел свой ответ. Есть настройка под названием settingsSync.ignoredSettings
, которую я добавил внизу. Я просто проигнорировал настройку executorMap.
Пожалуйста, без скриншотов текста
Вы предлагаете решение в комментарии.
Я думаю, что я могу добавить это соответствующим образом. В подробном описании синхронизации настроек мы также можем использовать ignoreUploadFiles
или ignoreUploadFolders
, чтобы отключить указанный файл:
Как вы уже выяснили, вы можете исключить определенные настройки из синхронизации, определив это в своей конфигурации JSON:
"settingsSync.ignoredSettings": [
"code-runner.executorMap",
]
Однако это предотвратит синхронизацию ваших определенных исполнителей для ВСЕХ языков. Если вы хотите продолжать синхронизировать все остальные исполнители, вы можете вместо этого изменить команду исполнителя, чтобы она не зависела от платформы.
Вы можете проверить, работаете ли вы на Mac или Linux, используя команду uname
. Однострочная цепочка команд для запуска разных команд для каждой платформы будет выглядеть так:
[[ $(uname -s) =~ ^Darwin ]] && (my_mac_commands) || (my_linux_commands)
Итак, в вашем случае вы, вероятно, могли бы определить что-то вроде этого, чтобы команда исполнителя работала на обеих ваших платформах:
"python": "[[ $(uname -s) =~ ^Darwin ]] && cmd=\"clear && python3 -u\" || cmd=\"py\"; eval \"$cmd\"",
Вам нужно будет спросить себя, как вы включили синхронизацию настроек, через сам VS Code или любые другие расширения. Без этого никто не сможет помочь.