Как настроить uncrustify в визуальном коде?

Я установил uncrustify на свой Linux-компьютер, а также установил его расширение в Visual Code. Я настроил settings.json следующим образом:

"uncrustify.executablePath": "/usr/bin/uncrustify",
"uncrustify.configPath": "/media/rinaldi/Excess/Dropbox/Projects/uncrusify-cpp.cfg"

и добавил строку в keybiddings.json:

{ "key": "ctrl+f6",               "command": "uncrustify"}

Когда я нажимаю «ctrl + f6», он говорит, что команда uncrustify не найдена, хотя через терминал, получающий доступ к /usr/bin/uncrustify, я получаю двоичный файл uncrustify.


person Rinaldi Segecin    schedule 08.01.2017    source источник


Ответы (2)


Здесь есть пара разных концепций, которые я объясню.

Форматтеры:

VS Code имеет концепцию расширений форматирования, которые будут форматировать ваш код. VS Code предоставляет несколько способов запуска этого форматирования, вы можете использовать некоторые настройки, такие как "editor.formatOnSave": true" или "editor.formatOnType": true, или напрямую использовать команду editor.action.formatDocument, она попросит все расширения форматирования, установленные для этого файла, отформатировать его.

Команды:

В приведенных выше сочетаниях клавиш часть «команда» относится не к команде оболочки command/.exe, а к команде vscode. Они могут быть встроены в команды, такие как команда editor.action.formatDocument, или это могут быть команды, предоставленные расширениями. Если вы когда-нибудь захотите увидеть, какие команды вносит расширение, вы можете посмотреть файл package.json. Uncrustify предоставляет команды здесь. Как видите, все они связаны с конфигурацией, и ни одна из команд не называется «uncrustify». Вот почему VS Code говорит, что не может найти команду uncrustify, ее просто не существует.

Так как же заставить это работать?

Измените команду ctrl+f6 на editor.action.formatDocument. Если вы сделаете это, как описано выше, VS Code попросит ваше расширение Uncrustify отформатировать документ для вас.

person Llewey    schedule 26.08.2017

ФайлНастройкиСочетания клавишФорматировать документ (editor.action.formatDocument). Перезапишите его с помощью Ctrl+F6.

person DeepSeer    schedule 12.06.2017