VScode+자바 설정 및 사용 에 대한 자세 한 절차

1 vs code
방금 vs code 를 접 했 는데 첫눈 에 반 했 어 요.
최근 nim language 를 사용 해 보고 있 습 니 다.vs code 를 추천 하 며 사용 해 보 았 습 니 다.그리고 걷 잡 을 수 없 었 습 니 다.그래서 대담 한 생각 이 들 었 습 니 다.아예 모두 vs code 로 넘 어가 보 세 요.지금 상황 은 무엇 일 까요?앞부분 은 웹 스 톰/sunime,자바 용 아이디어,python 용 PyCharm,ruby 용 Ruby Mine,c\#vs express 로 얼마나 귀 찮 은 가.
vs code 는 사실 편집기 입 니 다.조끼 이지 만 다양한 언어 로 대응 하 는 플러그 인 을 실현 할 수 있 습 니 다.하나의 ide 로 포장 하 는 것 이 좋 습 니 다.선진 적 입 니 다!가장 중요 한 것 은 개원,무료!
1.1 IDE 란 무엇 인가
통합 개발 환경(IDE,Integrated Development Environment)은 프로그램 개발 환경 을 제공 하 는 응용 프로그램 으로 코드 편집기,컴 파일 러,디 버 거 와 그래 픽 사용자 인터페이스 등 도 구 를 포함한다.코드 작성 기능,분석 기능,컴 파일 기능,디 버 깅 기능 등 일체화 된 개발 소프트웨어 서비스 세트 를 통합 했다.
예 를 들 어 마이크로소프트 의 Visual Studio 시 리 즈 는 c+/c\#IDE 로 사용 합 니 다.
Eclipse 와 IntelliJ IDEA 같은 자바 의 IDE.
1.2 VS code 는 편집기 입 니 다.
vs code 는 IDE 가 아 닙 니 다.편집기 입 니 다.이상 적 인 편집기 입 니 다.해당 언어의 플러그 인 을 통 해 IDE 로 포장 할 수 있 습 니 다.
vi 도 편집기 입 니 다.많은 프로그래머 들 이 vi 를 사용 하여 개발 하고 구축 은 독립 된 도 구 를 사용 합 니 다.예 를 들 어 make,ant,maven,gradle 등 입 니 다.ctags 는 소스 코드 의 기호 에 대한 색인 을 만 드 는 데 사 용 됩 니 다...
그렇다면 프로그래머 에 게 어떤 편집기 가 좋 은 편 일 까?
  • 파일 을 열 면 편리 하고 빠 르 며 문법 이 밝 고 아름 답 습 니 다!
  • 편집:첨삭 검사,풍부 하고 빠르다
  • 기호:기호 정의 조회,점프,기호 참조...
  • 의존 관리:의존 패키지 자동 가 져 오기
  • 분석:유형 구조,계승 관계....
  • 자동 알림...
  • 기타 고급 특성...
  • 상기 기능 중 일 부 는 vs code 로 할 수 있 고 일 부 는 플러그 인 으로 해 야 합 니 다.예 를 들 어 기호 와 의존 관리 등 언어 특징 과 관련 된 것 은 해당 언어의 플러그 인 에 의 해 이 루어 져 야 합 니 다.vs code 를 사용 할 때 코드 가 definition 으로 넘 어 갈 수 없 기 때문에 vs code 가 스마트 하지 않다 고 욕 할 수 없습니다.
    2 java
    아이디어 체험 도 좋 지만 때로는 너무 비대 하고 유창 하지 못 할 때 도 있다.
    물론 vs code 는 아이디어 가 제공 하 는 완전한 특성 에 필적 할 수 없다 는 것 을 인정 해 야 합 니 다.초보 자 에 게 idea/eclipse 는 반드시 거 쳐 야 할 길 입 니 다.그러나 프로그래머 로 서 우 리 는 디자인 이 취사선택 이라는 것 을 잘 알 아야 한다.아이디어 가 제공 하 는 세심 한 보모 같은 그래 픽 인터페이스 는 결국 우호 적 이지 만 잔소리 가 될 것 이다.어느 날,당신 은 성숙 하고 커서 그녀 가 잔소리 하 는 것 을 싫어 할 것 이다.
    2.1 java support extensions
    https://code.visualstudio.com/docs/languages/java
    공식 문서 에 따라 자바 관련 extensions 를 성실 하 게 설치 합 니 다.
    쉽게 말 하면:
    VS Code Java IDE =
    
       :vs code 
        : maven/gradle
        :Eclipse ™ JDT Language Server
    2.2 Language Support for Java(TM) by Red Hat
    다음 과 같은 기능 이 있 습 니 다.
  • 코드 완성:코드 완성
  • 자동 가 져 오기:organize imports
  • 코드 전환:code navigation
  • 잠깐 만!vs code 는 이러한 언어 등급 의 특성 을 제공 하지 않 는 것 이 분명 합 니 다.이것 도 JetBrains 가 그렇게 많은 제품 을 가지 고 있 는 이유 입 니 다.
    IntelliJ IDEA-지능 형 자바 통합 개발 도구 로 특히 프로그래머 의 개발 작성 효율 향상 에 전념 하고 강조 합 니 다.
  • PHPStorm 7.0 발표,PHP 통합 개발 도구
  • PyCharm 3 발표,스마트 파 이 썬 통합 개발 도구
  • Ruby Mine-Ruby Mine 은 Ruby 와 Rails 개발 자 를 위 한 IDE 로 모든 개발 자 에 게 필요 한 기능 을 가지 고 편리 한 개발 환경 에 긴밀 하 게 통합 합 니 다.
  • WebStorm 8.0 발표,스마트 HTML/CSS/JS 개발 도구
  • vs code 는 extension 을 통 해 해당 하 는 IDE 특성 을 제공 합 니 다.자바 에 게 Language Support for Java(TM)by Red Hat 이라는 extension 은 바로 이 일 을 하 는 것 입 니 다.
    Provides Java ™ language support via Eclipse ™ JDT Language Server, which utilizes Eclipse ™ JDT, M2Eclipse and Buildship.
    2,3 JDT 가 뭐야?
    JDT 는 Eclipse Java Development Tools 라 고 합 니 다.
    The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of any Java application,
    JDT core 가 어떤 vs code 확장 기능 을 제공 하 는 지 살 펴 보 자.
  • A Java Model that provides API for navigating the Java element tree. The Java element tree defines a Java centric view of a project. It surfaces elements like package fragments, compilation units, binary classes, types, methods, fields.
  • A Java Document Model providing API for manipulating a structured Java source document.
  • Code assist and code select support.
  • An indexed based search infrastructure that is used for searching, code assist, type hierarchy computation, and refactoring. The Java search engine can accurately find precise matches either in sources or binaries.
  • Evaluation support either in a scrapbook page or a debugger context.
  • Source code formatter
  • 주의해 야 할 것 은 이 extension 은 Eclipse IDE 와 관련 된 실현 을 사 용 했 습 니 다.새로운 자바 프로젝트 를 만 들 때,예 를 들 어 mvn 을 통 해 HelloWorld 프로젝트 를 생 성 합 니 다.
    mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3
    그리고 vs code 로 프로젝트 디 렉 터 리 를 열 면 프로젝트 디 렉 터 리 에 몇 개의 파일 과 디 렉 터 리 가 생 성 됩 니 다.
    1 .settings
    1.1 org.eclipse.jdt.core.prefs
    
    eclipse.preferences.version=1
    org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
    org.eclipse.jdt.core.compiler.compliance=1.6
    org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
    org.eclipse.jdt.core.compiler.source=1.6
    1.2 org.eclipse.m2e.core.prefs
    
    activeProfiles=
    eclipse.preferences.version=1
    resolveWorkspaceProjects=true
    version=1
    2 .project
    
    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
      <name>spring-ldap-user-admin-sample</name>
      <comment></comment>
      <projects>
      </projects>
      <buildSpec>
        <buildCommand>
          <name>org.eclipse.jdt.core.javabuilder</name>
          <arguments>
          </arguments>
        </buildCommand>
        <buildCommand>
          <name>org.eclipse.m2e.core.maven2Builder</name>
          <arguments>
          </arguments>
        </buildCommand>
      </buildSpec>
      <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
      </natures>
    </projectDescription>
    3 .classpath
    
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
      <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
          <attribute name="optional" value="true"/>
          <attribute name="maven.pomderived" value="true"/>
        </attributes>
      </classpathentry>
      <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
          <attribute name="maven.pomderived" value="true"/>
        </attributes>
      </classpathentry>
      <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
          <attribute name="optional" value="true"/>
          <attribute name="maven.pomderived" value="true"/>
          <attribute name="test" value="true"/>
        </attributes>
      </classpathentry>
      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
        <attributes>
          <attribute name="maven.pomderived" value="true"/>
        </attributes>
      </classpathentry>
      <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
          <attribute name="maven.pomderived" value="true"/>
        </attributes>
      </classpathentry>
      <classpathentry kind="output" path="target/classes"/>
    </classpath>
    
    주의:이 파일 들 은 모두 extension 이 자동 으로 생 성 된 것 입 니 다.디 렉 터 리 에 해당 하 는 파일 이 생 성 되 지 않 으 면 여러 가지 문제 가 발생 할 수 있 습 니 다.jdt 와 관련 된 많은 기능 을 정상적으로 사용 할 수 없습니다.예 를 들 어 기호 점프,자동 가 져 오기 등 입 니 다.
    IDEA 로 자바 프로젝트 를 열 면 비슷 한 파일 을 만 들 수 있 습 니 다.구조 와 이름 이 다 를 뿐 입 니 다.
    2.4 Java Classpath is incomplete. Only syntax errors will be reported
    이 경고 메시지 에 부 딪 히 면 자바 프로젝트 가 열 리 는 과정 에서 문제 가 생 겼 습 니 다.classpath.project 파일 이 부족 합 니 다.다음 과 같은 이유 일 수 있 습 니 다.예 를 들 어:
  • jdt 관련 extentsions 가 설치 되 지 않 았 습 니 다
  • 자바 환경 은 공식 설명 에 따라 배치 되 지 않 았 습 니 다
  • extension 설정 이 완전 하지 않 음
  • 이런 상황 에서 기호 점프,자동 완성,가 져 오기 등 기능 은 정상적으로 사용 할 수 없 을 것 이다.
    그러나 mvn 을 사용 하여 구축 하 는 것 은 문제 가 없습니다.mvn 은 구축 도구 입 니 다.원본 코드 가 완전 하고 정확 하 며 pom.xml 파일 이 있 으 면 Maven 은 정상적으로 작업 할 수 있 습 니 다.
    또한,프로젝트 가 Maven 과 gradle 을 동시에 지원 할 때 vs code 에서 프로젝트 를 만 드 는 데 실패 하여 classpath 관련 파일 을 만 들 수 없 음 을 발견 하 였 습 니 다.이 럴 때 build.gradle 을 삭제 하고 pom.xml 파일 만 남 겨 두 고 프로젝트 폴 더 를 다시 열 면 됩 니 다.
    2.5 프로젝트 구조

    위의 그림 과 같이 정상적으로 시 작 된 자바 프로젝트 는 포함 되 어야 합 니 다.
  • JAVA PROJECTS
  • MAVEN PROJECTS
  • JAVA DEPENDENCIES
  • 자바 프로젝트 에는.classpath,.project,.settings 가 포함 되 어 있 습 니 다.
    총결산
    한 마디 로 하면 vs code 를 자바 ide 로 사용 하 는 것 은 전혀 문제 가 없습니다.사용 과정 에서 문제 가 발생 할 수 있 습 니 다.많이 찾 아 보고 생각 하 며 해결 할 수 있 을 것 입 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기