| Prochaine révision | Révision précédente |
| prog:vsc:extension [2024/01/18 09:24] – Fusion de Python, cmake, Text Marker root | prog:vsc:extension [2025/10/23 12:59] (Version actuelle) – [Configuration] : indenter à 4 pour Python. black ne le supporte pas à 2. root |
|---|
| |
| Dans les préférences utilisateurs (''CTRL+,''), mettre | Dans les préférences utilisateurs (''CTRL+,''), mettre |
| * ''Editor: Tab Size'' à ''2''. | * ''Editor: Tab Size'' à ''4''. Il est déconseillé de changer la taille des tabulations. Certains linters ne le supportent pas ([[https://github.com/psf/black/issues/378|Configurable Indent Levels?]] {{ :prog:vsc:extension:configurable_indent_levels_issue_378_psf_black_10_8_2025_4_22_47_pm_.html |Archive du 25/06/2018 le 08/10/2025}}). |
| * ''pylint args'' : mettre les même arguments que [[prog:pylint|pylint]] | * ''pylint args'' : mettre les même arguments que [[lang:python:linter#pylint|pylint]] |
| |
| ====Bugs==== | ====Bugs==== |
| Ajouter à ''pylint args'' : ''%%--%%generated-members=cv2.*'' | 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. | Cela résout partiellement le problème : cela masque les erreurs de type ''Module 'cv2' has no 'imread' member'' mais ''pylint'' n'en sait pas plus sur l'autocomplétion. |
| |
| La solution en utilisant ''%%--%%extension-pkg-whitelist=cv2'' ne fonctionne pas toujours. | La solution en utilisant ''%%--%%extension-pkg-whitelist=cv2'' ne fonctionne pas toujours. |
| [[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}} | [[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: |
| | |
| | <file javascript launch.json> |
| | { |
| | "version": "0.2.0", |
| | "configurations": [ |
| | { |
| | "name": "Python C++ Debug", |
| | "type": "pythoncpp", |
| | "request": "launch", |
| | "pythonConfig": "default", |
| | "cppConfig": "default (win) Attach", |
| | } |
| | ] |
| | } |
| | </file> |
| | |
| | Configuration avec option pour Python et le debugger et exécuter "Python C++ Debug". |
| | |
| | <file javascript launch.json> |
| | { |
| | "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" |
| | } |
| | ] |
| | } |
| | </file> |
| | |
| | =====C++ Debugger===== |
| | |
| | Pour s'attacher à un programme externe sous Linux: |
| | |
| | <file javascript launch.json> |
| | { |
| | "version": "0.2.0", |
| | "configurations": [ |
| | { |
| | "name": "Attach to MATLAB", |
| | "type": "cppdbg", |
| | "request": "attach", |
| | "program": "/opt/matlab/R2022b/bin/glnxa64/MATLAB", |
| | "processId": "${command:pickProcess}", |
| | "MIMode": "gdb", |
| | "setupCommands": [ |
| | { |
| | "description": "Enable pretty-printing for gdb", |
| | "text": "-enable-pretty-printing", |
| | "ignoreFailures": true |
| | } |
| | ] |
| | } |
| | ] |
| | } |
| | </file> |
| | |
| | =====C/C++===== |
| | |
| | Pour les gros projets avec des grosses dépendances, il faut augmenter la taille du cache. Certains fichiers ''ipch'' font plusieurs centaines de Mo. |
| | |
| | Dans ''Settings'' > ''Extensions'' > ''C/C++'' > ''Resource Management'', ''C_Cpp: Intelli Sense Cache Size'', mettre ''102400'' (100Go). |
| | |
| | Et éventuellement mettre le cache sur un dev drive (''C_Cpp: Intelli Sense Cache Path''). |
| =====CMake===== | =====CMake===== |
| |
| Il faut sélectionner le mot, clique-droit et ''Toggle Highlight''. | Il faut sélectionner le mot, clique-droit et ''Toggle Highlight''. |
| |
| | =====Bracket Highlighter===== |
| | |
| | Ajout la surbrillance sur les crochets, parenthèses dans les strings. |
| | |
| | [[https://github.com/Durzn/BracketHighlighter.git|Site web]] |
| | |
| | [[https://marketplace.visualstudio.com/items?itemName=Durzn.brackethighlighter|Market place]] |
| | |
| | =====WSL===== |
| | |
| | Pour déboguer un programme tournant sous WSL depuis Windows, il suffit de créer un ''launch.json''. |
| | |
| | <code javascript> |
| | { |
| | // 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 |
| | } |
| | ] |
| | } |
| | ] |
| | } |
| | </code> |