<> Stuff about Visual Studio Code and legacy Visual Studio. == Visual Studio Code == * [[https://www.vscodecandothat.com/|VS Code Can Do That]]: Neat features and extensions * [[https://www.reddit.com/r/programming/comments/6zugur/sublime_text_3_is_out/dmy8n8d/|Observations about why Visual Studio Code seems so much faster]] [reddit] === Keyboard shortcuts === Keyboard shortcuts I can never remember. ==== Editing related ==== || '''Shortcut''' || '''Action''' || '''Reference''' || || Ctrl+Shift+L || Expand the focus of the current word, select all occurences in document, and change simultaneously || https://twitter.com/Tyriar/status/1012348877582712832 || || Alt+Up, Alt+Down || Move a line up or down || https://twitter.com/miguelsolorio_/status/1067564999097311232 || Navigation-related: || '''Shortcut''' || '''Action''' || '''Reference''' || || Ctrl+P || Open file || || || Ctrl+T || Symbols in workspace || || || Ctrl+Shift+O || Symbols in current file || https://twitter.com/Tyriar/status/1018953407787233280 || || Ctrl+Shift+K || Create a bookmark ||<|2> https://twitter.com/sarah_edo/status/1022184804446482433 for [[https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks|Bookmarks extension]] || || Ctrl+Shift+J || Jump between bookmarks || ==== CLI shortcuts ==== From https://twitter.com/Tyriar/status/1013787785973547008: * `code .`: Open the current folder in a new window * `code -r .`: Open the current folder in the current window * `code -a .`: Add the current folder to the current window == VS2015 minimal installation == [[http://landinghub.visualstudio.com/visual-cpp-build-tools|Visual Studio 2015 Build Tools]] [[https://blogs.msdn.microsoft.com/vcblog/2016/04/01/lightweight-cpp-installation-in-vs-15/|Lightweight C++ Installation in Visual Studio “15”]] == Building Visual Studio projects on the command-line == Generate a CMake project, targeting Visual Studio 2015: {{{ cd C:\Users\Public\Documents mkdir build cd build cmake --config Release -G "Visual Studio 14 2015 Win64" ` -D CMAKE_PREFIX_PATH=M:\dependencies\ ` N:\Documents\GitHub\Altus_Standalone # Build using 4 CPUs cmake --build . --config Release -- /m:4 }}} For building a project generated by CMake, and using Visual Studio 2015: {{{ & "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" .\altus.sln /p:Configuration=Release /maxcpucount }}} See also: [[https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line|Use the Microsoft C++ toolset from the command line]] == See what DLL dependencies an EXE depends upon == {{{ # Open Visual Studio Native Tools command prompt dumpbin.exe /dependents whatever.exe }}} == Offline installation == See: https://www.techtronic.us/blog/post/technology/visual-studio-2012-update-2-offline-installer/ tl;dr: Run offline installer with "/Layout". For MSVC15 (Visual Studio 2016), it was changed to --layout, which must be given an absolute path. == Version Naming == Visual Studio 2012 is "11"; Visual Studio 2013 is "12; Visual Studio 2015 is "14; Visual Studio 2017 is "15". Boost uses msvc-11.0, msvc-14.0, etc. == Etc == * [[http://aras-p.info/blog/2017/10/23/Best-unknown-MSVC-flag-d2cgsummary/|Best unknown MSVC flag: d2cgsummary]]. Option highlights the functions that compile the slowest. Officially become documented in Visual Studio 2017: [[https://blogs.msdn.microsoft.com/vcblog/2018/01/04/visual-studio-2017-throughput-improvements-and-advice/|Throughput improvements & advice]] * [[http://siomsystems.com/mixing-visual-studio-versions/|Why Mixing Visual Studio Versions is Evil]]. tl:dr: Make sure the same (or preferably, only 1) VS runtime allocates memory, and pass only primitive objects (e.g. float) or arrays of those types.