title: Is there a way to disable VS intellisense warnings for std headers without wrapping every include with garbage
body: <p>Visual Studio's intellisense produces the following warnings:</p>
  <pre><code>Severity    Code    Description Project File    Line    Suppression State
  Warning C26495  Variable 'std::exception_ptr::_Data1' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   216 
  Warning C26495  Variable 'std::exception_ptr::_Data2' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   216 
  Warning C26495  Variable 'std::exception_ptr::_Data1' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   220 
  Warning C26495  Variable 'std::exception_ptr::_Data2' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   220 
  Warning C26495  Variable 'std::exception_ptr::_Data1' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   228 
  Warning C26495  Variable 'std::exception_ptr::_Data2' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\exception   228 
  Warning C26439  This kind of function may not throw. Declare it 'noexcept' (f.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\map 144 
  Warning C26495  Variable 'std::error_category::_Addr' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\system_error    70  
  Warning C26439  This kind of function may not throw. Declare it 'noexcept' (f.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\unordered_map   200 
  Warning C26439  This kind of function may not throw. Declare it 'noexcept' (f.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xhash   413 
  Warning C26439  This kind of function may not throw. Declare it 'noexcept' (f.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xhash   577 
  Warning C26495  Variable 'std::ios_base::_Except' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xiosbase    460 
  Warning C26495  Variable 'std::ios_base::_Fmtfl' is uninitialized. Always initialize a member variable (type.6).    MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xiosbase    460 
  Warning C26495  Variable 'std::ios_base::_Mystate' is uninitialized. Always initialize a member variable (type.6).  MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xiosbase    460 
  Warning C26495  Variable 'std::ios_base::_Prec' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xiosbase    460 
  Warning C26495  Variable 'std::ios_base::_Wide' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xiosbase    460 
  Warning C26495  Variable 'std::locale::_Ptr' is uninitialized. Always initialize a member variable (type.6).    MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 265 
  Warning C26451  Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 963 
  Warning C26451  Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 963 
  Warning C26451  Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 1074    
  Warning C26451  Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 1246    
  Warning C26451  Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 1321    
  Warning C26451  Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 1332    
  Warning C26819  Unannotated fallthrough between switch labels (es.78).  MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 2014    
  Warning C26819  Unannotated fallthrough between switch labels (es.78).  MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xlocale 2215    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char16_t&gt; &gt;::_Bxty::_Alias' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char16_t&gt; &gt;::_Bxty::_Buf' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char16_t&gt; &gt;::_Bxty::_Ptr' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char32_t&gt; &gt;::_Bxty::_Alias' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char32_t&gt; &gt;::_Bxty::_Buf' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char32_t&gt; &gt;::_Bxty::_Ptr' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char&gt; &gt;::_Bxty::_Alias' is uninitialized. Always initialize a member variable (type.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char&gt; &gt;::_Bxty::_Buf' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;char&gt; &gt;::_Bxty::_Ptr' is uninitialized. Always initialize a member variable (type.6). MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;wchar_t&gt; &gt;::_Bxty::_Alias' is uninitialized. Always initialize a member variable (type.6).    MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;wchar_t&gt; &gt;::_Bxty::_Buf' is uninitialized. Always initialize a member variable (type.6).  MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26495  Variable 'std::_String_val&lt;std::_Simple_types&lt;wchar_t&gt; &gt;::_Bxty::_Ptr' is uninitialized. Always initialize a member variable (type.6).  MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xstring 2252    
  Warning C26439  This kind of function may not throw. Declare it 'noexcept' (f.6).   MD  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\xtree   907 
  </code></pre>
  <p>I obviously don't want warnings from the std headers to be shown.
  I came up with a very ugly work-around that consists in wrapping every single std inclusion in the whole project like so:</p>
  <pre><code>#include &lt;CodeAnalysis/Warnings.h&gt;
  #pragma warning(push)
  #pragma warning(disable: ALL_CODE_ANALYSIS_WARNINGS)
  #include &lt;vector&gt;
  #pragma warning(pop)
  </code></pre>
  <p>This looks like garbage and makes absolutely no sense.
  Is there a simple and effective way to either tell intellisense to ignore the warnings for std headers, or at least make the above prettier?</p>