문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 프로그래밍 개발 도구]] == 개요 == 이 문서는 Vscode를 사용하면서 유용한 팁들을 작성한다. == Clangd == Linux처럼 큰 프로젝트의 경우에는 내장 C/C++ Intellisence가 Tag parsing을 매우 느리게하는데, 이를 해결하기 위해서 clangd를 사용하면 좋다. vscode clangd extension 설치후, cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 . 혹은 리눅스 커널 소스 파일의 ./scripts/clang-tools/gen_compile_commands.py를 사용해주면, clangd가 사용할 .json파일을 만들어 주고 이를 통해서 사용하면 된다. * 이떄 C/C++ Extension이랑 같이 사용하기 위해서 "C_Cpp.autocomplete": "Disabled", "C_Cpp.intelliSenseEngine": "Disabled"로 설정해주어야 한다. == Linux Kernel Debugging == 내장 Debugger를 통해서 Linux kernel를 보다 쉽게 디버깅 할 수도 있다. 이를 위해서 launch.json을 다음과 같이 해준다. <syntaxhighlight lang="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": "kernel-debug", "type": "cppdbg", "request": "launch", "miDebuggerServerAddress": "localhost:1234", "program": "${workspaceFolder}/vmlinux", "stopAtEntry": true, "cwd": "${workspaceFolder}", "MIMode": "gdb", } ] } </syntaxhighlight> * 만약 프로젝트가 사용하는 .gdbinit과 겹치는 설정이 있으면, gdb가 설정을 2번 로딩하면서 튕김으로, .gdbinit을 삭제하거나 중복되는 내용을 지우도록 한다. == 참고 == # https://80000coding.oopy.io/6e809d3a-dea5-40f3-9c72-de454a9d3632 Vscode 설정 문서로 돌아갑니다.