我已经在我的linux机器上安装了uncrustify并安装了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"它说,即使通过终端访问/usr/bin/uncrustify
,我也找不到unrustiftif命令。我得到了非完整的二进制文件。
答案 0 :(得分:1)
我将在这里解释几个不同的概念。
格式化器:
VS Code具有“格式化程序”扩展的概念,可以格式化您的代码。 VS Code提供了几种触发此格式化的方法,您可以使用某些设置,例如"editor.formatOnSave": true"
或"editor.formatOnType": true
,或直接使用editor.action.formatDocument
命令,它会询问安装的任何格式扩展名该文件格式化。
命令:
在上面的键绑定中,“command”部分不引用shell命令/ .exe命令,它引用vscode命令。这些可以在editor.action.formatDocument
命令之类的命令中构建,也可以是扩展所贡献的命令。如果您想查看扩展程序所贡献的命令,可以查看package.json
。 Uncrustify贡献命令here。如您所见,它们都与配置有关,并且没有一个命令被称为“uncrustify”。这就是为什么VS Code说它无法找到uncrustify命令,它根本就不存在。
那么你如何让它发挥作用呢?
将 ctrl + f6 的命令更改为editor.action.formatDocument
。如果您这样做,如上所述,VS Code将要求您的Uncrustify扩展程序为您格式化文档。
答案 1 :(得分:0)
文件→首选项→键盘快捷键→格式化文档(editor.action.formatDocument
)。
用 Ctrl + F6 覆盖它。