Deno의 vscode settings를 최대한 사용합니다.제이슨 해봤어요.

13969 단어 VSCodedeno
개시하다
올해도 벌써 12월이다.달력이 붙는 시기네요.올해도 스스로 디노에 젖은 해였다.
저는 평소에 코드를 쓸 때 VScode를 사용하는데 물론 Deno 코드를 쓸 때도 사용합니다.
디노는 운행 시간뿐만 아니라 LSP도 가입하기 때문에 VScode를 통해 보충 등 혜택을 받을 수 있습니다!
설정 파일 만들기
그래서 공식 매뉴얼Using Visual Studio Code을 익히면서 설정 파일을 만드는 데 편리한 기능을 추가하고 싶다.
장립도 공식 수첩과 같다.
Installing
VScode 확장 기능을 설치합니다.
VScode 확장 기능은 Deno CLI를 사용하기 때문에 Deno 호스트를 설치해야 합니다.
Configuring the extension
디노가 VS코드에서 사용할 수 있도록 설정하세요.
Deno enabling a workspace
VScode에서 "Ctrl+Shift+P"또는 "F1"을 누르면 나오는 명령 트레이입니다.deno를 치고 싶으면 아래 그림과 같은 목록이 화면 위쪽 중앙에 나와요.

따라서 이미지 맨 위에 나타나는 "Deno: Initialize Workspace Configration"을 선택하면 다음 두 가지 질문에 적절히 응답하십시오.
  • Enable Deno linting?
  • Enable Deno unstable APIs?
  • 나는 Yes순으로 대답했다.
    그럼 No은 다음과 같습니다.
    settings.json
    {
      "deno.enable": true,
      "deno.lint": true,
      "deno.unstable": false
    }
    
    이렇게 되면 VS코드에서 Deno의 보충이 효과가 있습니다!

    Using linting
    위의 초기 설정에서 설정되었습니다. 건너뛰십시오.
    Using import maps
    Deno는 ImportMap을 사용할 수 있습니다.settings.json에 직접 내용을 쓸 수 있지만 VScode를 사용하지 않는 사람도 있으니 파일을 참고하세요..vscode/settings.json 중 미리 설정Standard Library하여 쉽게 사용할 수 있습니다.
    import_map.json
    {
      "imports": {
        "std/":"https://deno.land/[email protected]/"
      }
    }
    
    import_map.json에서 다음과 같은 내용을 보충한다.
    {
      "deno.importMap": "./import_map.json"
    }
    
    Using a configuration file
    Deno는 1.14부터 Config 파일을 지원합니다.settings.json1에 많이 썼고 명령을 실행할 때deno.json면Config를 읽을 수 있습니다.
    설정 가능한 항목 등은 공식 매뉴얼Configuration file을 보십시오.
    이번에는 간단한 모형만 쓰자.
    deno.json
    {
      "compilerOptions": {
      },
      "lint": {
        "files": {
          "include": [],
          "exclude": []
        },
        "rules": {}
      },
      "fmt": {
        "files": {
          "include": [],
          "exclude": []
        },
        "options": {}
      }
    }
    
    공식 매뉴얼에 명시되지 않은 JSON Schema 설정 섹션입니다.--config <filepath> 설정할 수 있는 항목이 많은데 어떻게 써야 좋을까요?이런 일도 자주 일어난다.제이슨 스케마가 공식적으로 공개됐기 때문에 희미한 기억으로도 사용할 수 있도록 설정해 주세요.(json schema의 설정은 VScode 자체의 기능입니다.)
    이에 따라 deno.json에는 다음과 같은 내용이 추가됐다.
    {
      "deno.config": "./deno.json",
      "json.schemas": [{
        "fileMatch": ["/deno.json"],
        "url": "https://deno.land/x/deno/cli/schemas/config-file.v1.json"
      }],
    }
    
    Using formatting
    Deno CLI에도 포맷기가 있습니다.어렵기 때문에 격식도 디노로 해주세요.settings.json에 다음과 같은 내용을 보충한다.
    {
      "editor.defaultFormatter": "denoland.vscode-deno"
    }
    
    Setting a path to the Deno CLI
    이것은 Deno CLI에서 PATH가 통과하지 않을 때 사용하는 옵션입니다.settings.json에서 settings.json로 설정하면 설정할 수 있을 것 같은데 이번에는 일반 설치로 가정하고 추가 기재하지 않습니다.
    Import suggestions
    보통 deno.path: <path>를 쓸 때 로컬 파일은 자동으로 파일 이름 등을 보충하지만 원격 모듈은 제대로 작동하지 않는다.
    그러나 모듈의 공급자가 이 기능2을 지원할 경우 원격 모듈도 보충할 수 있다.
    이번에는 import { } from "~~~"의 보충을 끝내면 효과가 있다.
    효과가 있다면 이렇게 보충할 수 있다.(개인적으로 이 버전은 보완이 되면 즐거울 것 같다.)
    { deno.land에 다음과 같은 내용을 보충한다.
    {
      "deno.suggest.imports.hosts": {
        "https://deno.land": true
      }
    }
    
    Code lenses
    코드 렌즈 기능도 지원한다.편집기에서 이 함수, 변수가 여러 번 사용되었는지 등 작은 정보를 확인할 수 있다.참조처의 판별 여부 등은 매우 편리하다.
    다음 예에서 settings.json에서 export의 함수lib.tshello에서만 사용되지 않은 것처럼 보이지만 실제로는 lib.ts에서 인용되었다.알았어. 그때 코드 렌즈가 참조돼서 효과가 있었어.

    따라서 main.ts에 다음과 같은 내용을 보충한다.
    {
      "deno.codeLens.implementations": true,
      "deno.codeLens.references": true,
      "deno.codeLens.referencesAllFunctions": true
    }
    
    settings.json지금까지 Deno의 최대 사용settings.json!
    마지막 물건은 여기 있다.
    settings.json
    {
      "deno.enable": true,
      "deno.lint": true,
      "deno.unstable": false,
      "deno.importMap": "./import_map.json",
      "deno.config": "./deno.json",
      "json.schemas": [{
        "fileMatch": ["/deno.json"],
        "url": "https://deno.land/x/deno/cli/schemas/config-file.v1.json"
      }],
      "editor.defaultFormatter": "denoland.vscode-deno",
      "deno.suggest.imports.hosts": {
        "https://deno.land": true
      },
      "deno.codeLens.implementations": true,
      "deno.codeLens.references": true,
      "deno.codeLens.referencesAllFunctions": true
    }
    
    처음부터 이렇게 기능이 많은 Deno가 역시 좋네요.🦕
    런타임
    참고로 명령으로 시작하고 싶을 때 settings.json vscode 설정 환경과 동일하게 해야 합니다.
    > deno run -A --config ./deno.json --import-map ./import_map.json main.ts
    
    및 실행합니다.fmt와lint도 같은 느낌입니다.
    > deno fmt --config ./deno.json main.ts
    > deno lint --config ./deno.json main.ts
    
    좀 긴데.이 일대main.ts의 자동인식 등 향후 업데이트 기대가 크다.
    denonVelociraptor 등 데노 실행 도구가 있기 때문에 이것을 활용하는 것도 방법이다.
    템플릿 웨어하우스
    나는 이번 기사에서 작성한 설정 문서 한 세트를 창고로 정리했다.
    템플릿 창고니까 가능하면 사용하세요!
    홍보, 아이스도 반갑습니다(일본어)
    최후
    올해도 advent 달력을 쓰고 싶었는데 어느덧 12월 웃음으로 접어들었다
    고민하지 않고 기사를 썼기 때문에 잘못이 있으면 수정, 논평해 주세요.
    좀 이르지만 메리 크리스마스!!
    아직 파일 이름은 정해지지 않았지만 deno.json 또는 deno.json로 설정하면 향후 응용 프로그램에서 자동으로 Config 파일을 읽을 수 있습니다. 
    대응 여부는 실제로 도입문을 쓸 때 오른쪽 아래에'여기 대응 보충, 유효할까요?'명확한 표현이 나오기 때문에 거기서'Enable'을 누르면deno.jsonc 자동으로 추가된다. 

    좋은 웹페이지 즐겨찾기