SFTP

SFTP로 소스만 가져와 디버깅하는 방법이다.

리눅스의 코드를 가져오는 것이라면 WSL(리눅스용 윈도우 하위 시스템) 을 설치하여 vscode 터미널을 WSL 쉘로 바꾸는 것을 추천한다.

로컬의 vscode에서 SFTP 확장 프로그램을 설치한다.

명령팔레트를 열어 아래 명령어를 입력한다

>SFTP: Config

프로젝트 디렉토리에 .vscode 폴더가 생성되며 해당 디렉토리 안에 sftp.json이 생성된다.

sftp.json은 해당 형식으로 작성한다.

{
    "name": "AIWAF_SFTP",       # 설정 별명
    "host": "xxx.xxx.xxx.xxx",  # SFTP 아이피
    "protocol": "sftp",         # SFTP 프로토콜 이용
    "port": 22,                 # SFTP 서비스 포트
    "username": "tester",       # 계정명
    "password": "1234qwer",     # 비밀번호
    "remotePath": "/home/src",  # SFTP로 가져올 폴더의 최상위 경로
    "autoUpload": false,        # 자동 업로드 (해제 추천)
    "autoDelete": false,        # 자동 삭제 (해제 추천)
    "uploadOnSave": true,       # 세이브(ctrl+s)할때마다 sftp자동 업데이트
    "syncMode": "full",         # 동기화 모드
    "ignore": [                 # SFTP 파일 다운로드, 업로드 시 무시하는 파일 또는 폴더 경로
        "**/tags",
        "**/.svn",
        "**/.git",
        "**/.vscode"
    ]
}

json 오류없이 제대로 설정하면 파일 탐색기에서 우클릭을 하였을 때 SFTP 관련 메뉴가 뜨게 된다.

Untitled

소스와 리눅스용 헤더파일들도 가져오는것을 추천한다. (/usr/include, /usr/local /usr/lib ..)헤더가 없으면 C/C++을 설치하였을 때 제대로 Intellisense(코드 자동완성, 에러체크)가 제대로 작동하지 않을 수 있다.

C/C++ Intellisense

이후 디버깅과 intellisense 자동완성을 위해 C/C++ , Native Debug 확장 프로그램을 설치한다.

Intellisense를 설정하기 위해 .vscode 디렉토리에 c_cpp_properties.json 파일을 만든 뒤 json을 작성해 헤더 경로를 추가해준다.

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [                                     # 헤더 include 경로 설정
                "/mnt/d/CLANG/AIWAF_source/AIKM10/v1.0.0/**",
                "/mnt/d/CLANG/AIWAF_source/AILIB40/v4.0.0/**",
                "/mnt/d/CLANG/AIWAF_source/AISSL10/v1.0.0/**",
                "/mnt/d/CLANG/AIWAF_source/AIWAF50/v5.0/**",
                "/mnt/d/usr/include"
            ],
            "cStandard": "c11",                                  # C 표준 설정
            "cppStandard": "c++17",                              # CPP 표준 설정
            "intelliSenseMode": "gcc-x64"                        # intellisense(자동완성)모드 설정
        }
    ],
    "version": 4
}