CMakePresets.json の configurePresets で環境変数 DOTNET_CLI_UI_LANGUAGE と VSLANG を指定すると msbuild.exe の出力を英語に設定できる。両方とも指定しないとなぜか変わらない(💢)。
設定例:
{
"version": 8,
"configurePresets": [
{
"name": "x64",
"generator": "Visual Studio 17 2022",
"toolset": "host=x64",
"architecture": "x64",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install/${presetName}",
"CMAKE_C_COMPILER": "cl.exe",
"CMAKE_CXX_COMPILER": "cl.exe"
},
"environment": {
"DOTNET_CLI_UI_LANGUAGE": "en-US",
"VSLANG": "1033"
}
}
],
"buildPresets": [
{
"name": "x64-debug",
"configurePreset": "x64",
"configuration": "Debug"
}
]
}
ほんとうは日本語で文字化けせずに出せればそれがいいのだがわからなかった。エクステンションのロード時にどこかでコードページが指定されているようなのだが……。