-
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 설치
- 두번째 탭 "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