ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • visual studio code 에서 F# 개발(컴파일 및 디버깅)하기
    F# 2019. 2. 7. 22:05

    Visual studio code 에서 F# 언어로 개발(컴파일 및 디버깅)이 가능하도록 환경을 설정하는 방법을 알아본다.

    이 문서에서는 .NET core 버젼 설치를 기준으로 한다. (.Net framwork 기반 설치도 크게 다르지 않다.)



    1. Visual studio code 최신 버전 설치

    https://code.visualstudio.com/download






    2. NetCore 2.2 버전 설치

    https://dotnet.microsoft.com/download






    3. Visual studio 2017용 Build tools 설치

    https://visualstudio.microsoft.com/ko/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=button+cta&utm_content=download+vs2017&rr=http%3A%2F%2Fionide.io%2F


    - 두번째 탭 "Visual studio 2017용 도구 클릭

    - 첫번째 항목 "Visual stduio 2017용 Build tools" 우측 [다운로드] 버튼 클릭

    - 다운로드 완료 후 설치





    4. Visual studio code c# plugin 설치



    - .NET debugger 를  사용하기 위해 C# 플러그인을 설치한다.





    5. Visual studio code Ionide-Fhsarp plugin 설치




    (추가 : 다음 플러그인도 같이 설치해준다.)

    ionide-Packet

    ionide-FAKE 




    6. 신규 솔루션 및 프로젝트 생성


    c:\dev> dotnet new sln -o test_fsharp                                      // 신규 솔루션 생성


    c:\dev> cd test_fsharp


    c:\dev> dotnet new console -lang -f#                                     // 콘솔 프로젝트 생성 (-o src/MyLibrary 와 생성 디렉토리 지정도 가능)


    c:\dev> dotnet sln add (생성된 프로젝트 이름).csproj                 //새로 생성한 솔루션에 프로젝트를 포함시켜준다.


    c:\dev> dotnet run

    (dotnet run으로 프로젝트를 1회 실행하여 컴파일러 가동 후 dll을 생성해주자.)






    7. Visual Studio Code에서 솔루션 디렉토리 열기

    상단 메뉴 [파일] -> 폴더 열기 -> test_fsharp (본인이 생성한 프로젝트 디렉토리 선택)






    8. launch.json 자동 생성 하기



    - 순서대로 클릭시 플랫폼을 선택하는 창이 뜬다. 이때 .NET Core 선택

    - 생성된 launch.json 파일을 열고 "program" 항목을 반드시 지정해 준다. 

       (예: "program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/test_fsharp.dll")




    9. build task 자동 생성 하기



    10. .vscode/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": ".NET Core Launch (console)",
    "type": "coreclr",
    "request": "launch",
    "preLaunchTask": "build",
    "program": "${workspaceFolder}/(my_project_dir)/bin/Debug/netcoreapp2.1/test.dll",
    "args": ["arg1","arg2"],
    "cwd": "${workspaceFolder}",
    "console": "internalConsole",
    "stopAtEntry": false,
    "internalConsoleOptions": "openOnSessionStart"
    },
    ]
    }

    - 좌측 세로메뉴에서 벌레(디버그) 마크를 누르면 기본내용으로 생성된다. 이후 내용만 수정해 주면된다.

    - 컴파일된 dll 이 위치할 디렉토리를 "program" 항목에 직접 지정해준다.




    11. .vscode/tasks.json 작성

    {
    "version": "2.0.0",
    "tasks": [
    {
    "label": "build",
    "command": "dotnet build ${workspaceFolder}/path/to/mysolution.sln",
    "type": "shell",
    "group": "build",
    "presentation": {
    "reveal": "silent"
    },
    "problemMatcher": "$msCompile"
    }
    ]
    }

    - 이 파일은 직접 생성해 주어야 한다.

    - command 부분에 솔루션 디렉토리를 직접 지정해준다.





    12. 디버깅과 실행이 되는지 확인


    a) 브레이크 포인트를 코드에 건다

    b) Visual studio code 상단 [디버그] -> [디버깅 시작] 선택 (or F5 누르기)



    c) 위와 같이 브레이크 포인트에서 멈추면 정상.



    참고

    https://atlemann.github.io/fsharp/2018/02/28/fsharp-solutions-from-scratch.html

    'F#' 카테고리의 다른 글

    F# 에서 Grpc 사용하기  (0) 2020.02.10
    Console 에서 F# 솔루션 및 프로젝트 생성하기  (0) 2019.04.14
    특정 디렉토리및 하위에 있는 파일명 모두 얻기  (0) 2017.06.20
    파일 읽어서 배열에 담기  (0) 2017.01.25
    F# lock  (0) 2016.10.24
Designed by Tistory.