=====Python=====
====Installation====
===La base===
Installer le [[https://marketplace.visualstudio.com/items?itemName=ms-python.python|module Python]].
[[https://code.visualstudio.com/docs/python/python-tutorial|Tutorial Visual Studio Code]] {{ :prog:vsc:python:code.visualstudio.com-python-2019-12-02.zip |Archive du 04/11/2019 le 02/12/2019}}
* Installer Python avec l'option pip : https://www.python.org/downloads/
* Installer pylint.
* Installer le module Python : https://marketplace.visualstudio.com/items?itemName=ms-python.python
* Choisir l'interprêteur python par défaut : ''Ctrl+Shift+P'' : ''Python: Select Interpreter''
===Configuration===
Dans les préférences utilisateurs (''CTRL+,''), mettre
* ''Editor: Tab Size'' à ''2''.
* ''pylint args'' : mettre les même arguments que [[lang:python:linter#pylint|pylint]]
====Bugs====
===Python:command 'python.setInterpreter' not found===
Supprimer le fichier ''~\.vscode\extensions\ms-python.python-xxxx\package.nls.[language].json''
Applicable ''2019.4.11881'' à ''2020.4.76186''.
[[https://github.com/microsoft/vscode-python/issues/5440|Python:command 'python.setInterpreter' not found]] {{ :prog:vsc:python:python_command_python.setinterpreter_not_found_issue_5440_microsoft_vscode-python_2020-05-06_7_39_57_am_.html |Archive du 24/04/2019 le 06/05/2020}}
===OpenCv===
L'autocomplétion ne fonctionne pas.
Ajouter à ''pylint args'' : ''%%--%%generated-members=cv2.*''
Cela résout partiellement le problème : cela masque les erreurs de type ''Module 'cv2' has no 'imread' member''. pylint n'en sait pas plus sur l'autocomplétion mais cela désactive les messages d'erreur.
La solution en utilisant ''%%--%%extension-pkg-whitelist=cv2'' ne fonctionne pas toujours.
[[https://github.com/PyCQA/pylint/issues/2426|cv2 module members are not recognized]] {{ :prog:vsc:python:cv2_module_members_are_not_recognized_issue_2426_pycqa_pylint_2020-10-04_19_35_07_.html |Archive du 20/08/2020 le 04/10/2020}}
===Renommer les variables / fonctions échoue===
Renommer les variables n'est possible que si le module python compile.
Mais si cela continue à échouer, il est possible que ce soit le serveur de langage ''Jedi'' le problème.
Aller dans les préférences, modifier ''Python: Language Server'' de ''Jedi'' à ''Pylance''.
===The Python path in your debug configuration is invalid===
Le chemin de python a bien été renseigné dans les préférences de l'utilisateur :
"python.defaultInterpreterPath": "C:\\Users\\...\\python-3.9.6-embed-amd64\\python.exe"
Mais il n'a pas été fait le choix de l'interprêteur python par défaut : ''Ctrl+Shift+P'' : ''Python: Select Interpreter''
[[https://stackoverflow.com/questions/66698247/vscode-the-python-path-in-your-debug-configuration-is-invalid|VSCode: The Python path in your debug configuration is invalid]] {{ :prog:vsc:python:vscode_the_python_path_in_your_debug_configuration_is_invalid_-_stack_overflow_7_15_2021_10_26_55_am_.html |Archive du 18/03/2021 le 15/07/2021}}
=====Python C++ Debugger=====
Pouvoir déboguer un module python compilé en C++ depuis python.
[[https://marketplace.visualstudio.com/items?itemName=benjamin-simmonds.pythoncpp-debug|Marketplace]] [[https://github.com/benibenj/vscode-pythonCpp.git|Github]]
Config par défaut:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python C++ Debug",
"type": "pythoncpp",
"request": "launch",
"pythonConfig": "default",
"cppConfig": "default (win) Attach",
}
]
}
Configuration avec option pour Python et le debugger et exécuter "Python C++ Debug".
{
"version": "0.2.0",
"configurations": [
{
"name": "Python C++ Debug",
"type": "pythoncpp",
"request": "launch",
"pythonLaunchName": "Python: Current File",
"cppAttachName": "(Windows) Attach",
},
{
"name": "(Windows) Attach",
"type": "cppvsdbg",
"request": "attach",
"processId": "",
"symbolOptions": {
"searchMicrosoftSymbolServer": true,
"cachePath": "C:\\Users\\XXXXXXXXX\\SymbolCache"
}
},
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
=====CMake=====
Il faut utiliser l'extension ''CMake Tools'' de Microsoft.
====Personnalisation====
===Configuration===
Dans les settings du ''Workspace'' (et surtout pas du ''User'' sinon la configuration s'appliquera à tous les projets), rechercher ''cmake.configureArgs'' et ajouter les paramètres de configuration (''BUILD_SHARED_LIBS'', ...).
[[https://devblogs.microsoft.com/cppblog/cmake-presets-integration-in-visual-studio-and-visual-studio-code/|CMake Presets integration in Visual Studio and Visual Studio Code]] {{ :prog:cmake:vsc:cmake_presets_integration_in_visual_studio_and_visual_studio_code_-_c_team_blog_22_09_2023_15_43_02_.html |Archive du 20/04/2021 le 22/09/2023}}
[[https://stackoverflow.com/questions/65894922/setting-cmake-compilation-options-in-vs-code|Setting CMake compilation options in VS Code]] {{ :prog:cmake:vsc:setting_cmake_compilation_options_in_vs_code_-_stack_overflow_22_09_2023_15_50_59_.html |Archive du 26/01/2021 le 22/09/2023}}
=====Text Marker=====
[[https://github.com/ryu1kn/vscode-text-marker|Site web]]
[[https://marketplace.visualstudio.com/items?itemName=ryu1kn.text-marker|Market place]]
Il faut sélectionner le mot, clique-droit et ''Toggle Highlight''.
=====WSL=====
Pour déboguer un programme tournant sous WSL depuis Windows, il suffit de créer un ''launch.json''.
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"externalConsole": false,
"cwd": "llvm-project/build/bin",
"program": "llvm-project/build/bin/clang-tidy",
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}