1

我已经在我的 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”时,它说没有找到 uncrustify 命令,即使通过终端访问/usr/bin/uncrustify我得到了 uncrustify 二进制文件。

4

2 回答 2

2

我将在这里解释几个不同的概念。

格式化程序:

VS Code 具有“格式化程序”扩展的概念,它将格式化您的代码。VS Code 提供了几种触发这种格式化的方法,你可以使用一些设置,例如"editor.formatOnSave": true""editor.formatOnType": true,或者直接使用editor.action.formatDocument命令,它会询问为该文件安装的任何格式化扩展来格式化它。

命令:

在上面的键绑定中,“命令”部分不是指 shell 命令/.exe 命令,而是指 vscode 命令。这些可以内置在命令之类的editor.action.formatDocument命令中,也可以是扩展提供的命令。如果您想查看扩展贡献了哪些命令,可以查看package.json. Uncrustify在这里提供命令。如您所见,它们都与配置相关,并且没有一个命令被称为“uncrustify”。这就是为什么 VS Code 说它找不到 uncrustify 命令,它根本不存在。

那么你如何让它发挥作用呢?

ctrl将+的命令更改f6editor.action.formatDocument。如果您这样做,如上所述,VS Code 将要求您的 Uncrustify 扩展程序为您格式化文档。

于 2017-08-26T08:04:51.963 回答
0

文件→首选项→键盘快捷键→格式化文档(editor.action.formatDocument)。Ctrl用你的+覆盖它F6

于 2017-06-12T01:07:05.953 回答