tự động include path của header file để quản lý source code trong vscode

Lâu rồi mình mới vào lại trang blog này. Blog của mình lập ra từ thời còn là một cậu sinh viên mới tập tành học lập trình. Hôm nay, mình rảnh rỗi nên lên chăm chút lại em ý và dự tính là thời gian tới mình sẽ ra nhiều bài viết hơn. Để mở đầu cho sự trở lại này, mình sẽ hướng dẫn anh/chị/em sử dụng vscode hiệu quả hơn trong việc quản lý source code của mình.

Vscode là một trong những phần mềm quản lý source code miễn phí tốt hiện nay. Mình thường dùng nó để quản lý và lập trình những dự án liên quan đến các ngôn ngữ như c, c++, html, javascript ,... Bằng những plugin rất dễ dàng cài thêm, nó giúp cho việc lập trình dễ dàng và hiệu quả hơn nhiều. Bài viết này của mình sẽ hướng dẫn cho các bạn cách khai báo các đường dẫn của những header file (file có đuôi *.h, ...) trong projects c/c++ một cách dễ nhất.


Trên đây là một đoạn code trong file main.c của mình. Trong file này, mình có sử dụng những #define trong một số header file. Ví dụ ở dòng 37, trong project hiện tại thì mình không sử dụng #define USE_SOFT_POWER nhưng khi mở project thì đoạn code #if ... #endif không tự động làm mờ/ẩn đi. Điều này có thể gây khó khăn và gây ra nhầm lẫn khi kiểm tra code. Nguyên nhân của lỗi trên là do vscode chưa hiểu những #define của bạn xuất phát từ file nào. Để khai báo cho phần mềm hiểu, các bạn vui lòng hãy làm theo 4 bước dưới đây.

1. Tạo VSCode workspace
Chọn File >> Add Folder to Workspace >> chọn thư mục souce code cần sử dụng >> OK.
Bước này chúng ta sẽ tạo một workspace để quản lý những file trong một thư mục, những cấu hình hệ thống đối workspace này, ...

2. Tạo thư mục .vscode
Sau khi add folder to workspace xong, chúng ta tiến hành tạo thư mục .vscode để lưu các cấu hình của workspace.

3. Tạo file c_cpp_properties.json
Trong thư mục .vscode vừa tạo, tiến hành tạo mới file c_cpp_properties.json với nội dung dưới dây:
{     "version": 4,
    "configurations": [
        {
            "name": "RatDonGianBlog",
            "includePath": [
            ],
            "forcedInclude": [],
            "cStandard": "${default}",
            "cppStandard": "${default}"
        }
    ]
}

4. Add các header file path
Click vào dòng gạch dưới được đánh dấu xanh lá cây hoặc đỏ, vscode sẽ thông báo workspace của bạn không hiểu file header đó là gì, nằm ở đâu nên chúng ta cần phải khai báo cho vscode biết thư mục chứa file đó (ở đây mình chưa khai báo "api_sd.h").

Click vào biểu tượng bóng đèn màu vàng và chọn "Add to includePath".

Sau khi add các include path một cách tự động xong thì trong file c_cpp_properties.json  sẽ có nội dung như sau:
{
    "version": 4,
    "configurations": [
        {
            "name": "RatDonGianBlog",
            "includePath": [
                "${workspaceFolder}/task",
                "${workspaceFolder}/common",
                "${workspaceFolder}/user",
                "${workspaceFolder}/display/lcd",
                "${workspaceFolder}/user/user_iis",
                "${workspaceFolder}/config",
                "${workspaceFolder}/display",
                "${workspaceFolder}/display/led",
                "${workspaceFolder}/api"
            ],
            "forcedInclude": [],
            "cStandard": "${default}",
            "cppStandard": "${default}"
        }
    ]
}

Chúng ta quay lại các dòng code trong file main.c và sẽ thấy một điều rằng: đoạn code #if ... #endif đã được làm mờ đi. Khi nhìn vào thì chúng ta sẽ biết là chúng ta chưa #define USE_SOFT_POWER. Nên nếu muốn sử dụng chức năng này thì hãy bật #define này lên.


Không có nhận xét nào

Được tạo bởi Blogger.