when I build a project, output message like this. I use vs2012 compiler
[vscode] Executing command: cmake --build d:/vscode_test/hello/build --target ALL_BUILD --config Debug -- /m /property:GenerateFullPaths=true
Microsoft(R) ��������汾 4.7.2046.0
[Microsoft .NET Framework �汾 4.0.30319.42000]
��Ȩ���� (C) Microsoft Corporation����������Ȩ����
������ʱ��Ϊ 2017/5/20 16:59:57��
1>�ڵ� 1 �ϵ���Ŀ��D:\vscode_testhello\build\ALL_BUILD.vcxproj��(Ĭ��Ŀ��)��
1>��Ŀ��D:\vscode_testhello\build\ALL_BUILD.vcxproj��(1)���ڽڵ� 1 �����ɡ�D:\vscode_testhello\build\ZERO_CHECK.vcxproj��(2) (Ĭ��Ŀ��)��
2>InitializeBuildStatus:
���ڴ�����Win32\Debug\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild������Ϊ��ָ����AlwaysCreate����
CustomBuild:
���������Ϊ���¡�
FinalizeBuildStatus:
����ɾ���ļ���Win32\Debug\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild����
���ڶԡ�Win32\Debug\ZERO_CHECK\ZERO_CHECK.lastbuildstate��ִ�� Touch ����
2>�����������Ŀ��D:\vscode_testhello\build\ZERO_CHECK.vcxproj��(Ĭ��Ŀ��)�IJ�����
1>��Ŀ��D:\vscode_testhello\build\ALL_BUILD.vcxproj��(1)���ڽڵ� 2 �����ɡ�D:\vscode_testhello\buildhello.vcxproj��(3) (Ĭ��Ŀ��)��
3>InitializeBuildStatus:
���ڴ�����hello.dir\Debughello.unsuccessfulbuild������Ϊ��ָ����AlwaysCreate����
CustomBuild:
���������Ϊ���¡�
ClCompile:
���������Ϊ���¡�
Link:
���������Ϊ���¡�
hello.vcxproj -> D:\vscode_testhello\build\Debughello.exe
FinalizeBuildStatus:
����ɾ���ļ���hello.dir\Debughello.unsuccessfulbuild����
���ڶԡ�hello.dir\Debughello.lastbuildstate��ִ�� Touch ����
3>�����������Ŀ��D:\vscode_testhello\buildhello.vcxproj��(Ĭ��Ŀ��)�IJ�����
1>InitializeBuildStatus:
���ڴ�����Win32\Debug\ALL_BUILD\ALL_BUILD.unsuccessfulbuild������Ϊ��ָ����AlwaysCreate����
CustomBuild:
���������Ϊ���¡�
FinalizeBuildStatus:
����ɾ���ļ���Win32\Debug\ALL_BUILD\ALL_BUILD.unsuccessfulbuild����
���ڶԡ�Win32\Debug\ALL_BUILD\ALL_BUILD.lastbuildstate��ִ�� Touch ����
1>�����������Ŀ��D:\vscode_testhello\build\ALL_BUILD.vcxproj��(Ĭ��Ŀ��)�IJ�����
�ѳɹ����ɡ�
0 ������
0 ������
����ʱ�� 00:00:00.38
[vscode] cmake exited with return code 0
That's just utterly bizarre. I've never seen something like that.
What locale and language are you using on your system?
@qhuman, @memeda, This bug may be caused by non-Latin locale and it is hard to reproduce without having non-english UI.
Could you please slightly patch the extension to check the fix?
%USERPROFILE%\.vscode\extensions\vector-of-bool.cmake-tools-0.10.0\out\srcutil.jstoString with toLocaleString, so they become:@vector-of-bool I'm using Chinese Simplified.
@ytimenkov It seems that the problem still exits. I have checked the locale in Windows setting, it is Chinese as the default, but the message of output in console is messed like
C2065: ��x1��: δ�����ı�ʶ��
the compiler output the error in Chinese and they were displayed wrongly.
It should be possible to reproduce this in a simple test case non-ASCII characters. I'll see if I can make it work.
seems a known bug with vscode itself #974, not resolved yet
I encountered the same problem.
vscode version: 1.23.0
CMake Tools version: 0.11.1
OS version: win7

Based on a similar issue we had with vswhere, we've determined that this is related to the console programs emitting text encoded with the default system codepage, whereas CMake Tools assumes UTF-8. Unfortunately, just _knowing_ the cause isn't sufficient, and I'm not sure how to fix it. There is no way to change the code page of a program without using the console APIs, which NodeJS does not expose.
This appears to have been fixed by the cmake.outputLogEncoding setting. Please let us know if this is working for you, or if there are still issues.