JetBrains Cuối Cùng Đã Phát Hành Language Server Chính Thức Cho Kotlin Trên Visual Studio Code

Nhóm biên tập BigGo
JetBrains Cuối Cùng Đã Phát Hành Language Server Chính Thức Cho Kotlin Trên Visual Studio Code

Sau nhiều năm giữ việc phát triển Kotlin gắn chặt với IntelliJ IDEA , JetBrains đã có một bước chuyển đáng ngạc nhiên khi phát hành một triển khai Language Server Protocol ( LSP ) chính thức cho Kotlin . Động thái này mở ra cơ hội cho các nhà phát triển viết code Kotlin trong Visual Studio Code và các trình soạn thảo tương thích LSP khác với đầy đủ các tính năng giống như IDE .

Thời điểm phát hành này đã khiến nhiều người trong cộng đồng phát triển bất ngờ. JetBrains trước đây đã duy trì lập trường cứng rắn về việc giữ các công cụ Kotlin nâng cao độc quyền cho các IDE của riêng họ, coi đây là một lợi thế cạnh tranh. Tuy nhiên, các cuộc thảo luận trong cộng đồng cho thấy mối lo ngại ngày càng tăng về tỷ lệ áp dụng Kotlin và sự thống trị của VS Code trong thị trường trình soạn thảo.

Phá Bỏ Rào Cản IDE

Language server mới mang đến hỗ trợ Kotlin toàn diện cho VS Code , bao gồm semantic highlighting, điều hướng code, công cụ refactoring và hoàn thành code thông minh. Được xây dựng trên cùng nền tảng IntelliJ IDEA hỗ trợ Android Studio , nó hứa hẹn mang đến trải nghiệm phát triển quen thuộc bên ngoài hệ sinh thái của JetBrains .

Sự phát triển này giải quyết một nỗi thất vọng lâu dài của các nhà phát triển, những người ưa thích cách tiếp cận nhẹ nhàng của VS Code nhưng cảm thấy bị buộc phải sử dụng IntelliJ cho việc phát triển Kotlin nghiêm túc. Phản hồi từ cộng đồng cho thấy việc khóa IDE này thực sự đang cản trở sự phát triển của Kotlin , đặc biệt là đối với các nhà phát triển mới, những người đã lớn lên với VS Code như trình soạn thảo chính của họ.

Trạng thái tính năng hiện tại

  • ✅ Tô sáng ngữ nghĩa
  • ✅ Điều hướng đến mã nguồn Kotlin/Java
  • ✅ Thao tác mã và sửa lỗi nhanh
  • ✅ Hoàn thiện mã cơ bản
  • ❌ Dự án Kotlin Multiplatform (KMP)
  • ❌ Import Maven/Amper
  • ❌ Hỗ trợ đầy đủ cho Windows
  • ❌ Định dạng mã

Chuyển Đổi Chiến Lược Giữa Áp Lực Thị Trường

Quyết định này dường như được thúc đẩy bởi một số thực tế thị trường. Sự phát triển của Kotlin đã trì trệ trong những năm gần đây, trong khi VS Code và các phiên bản fork của nó tiếp tục thống trị bối cảnh trình soạn thảo. Sự gia tăng của các trợ lý lập trình được hỗ trợ bởi AI , hầu hết được xây dựng trên nền tảng VS Code , đã nhấn mạnh thêm tầm quan trọng của việc hỗ trợ các môi trường phát triển phổ biến.

Việc áp dụng Kotlin gần đây đã trì trệ và VSCode cùng các phiên bản fork có thị phần khổng lồ. Việc nghĩ rằng một ngôn ngữ duy nhất sẽ thuyết phục mọi người chuyển sang IntelliJ thay vì chỉ giới hạn sự phát triển của Kotlin là cực kỳ thiển cận.

Động thái này cũng phản ánh những thay đổi trong động lực phát triển Android , nơi các chính sách ngày càng hạn chế của Google đối với các nhà phát triển độc lập có thể đang thu hẹp thị trường chính của Kotlin . Bằng cách mở rộng hỗ trợ trình soạn thảo, JetBrains dường như đang phòng ngừa việc phụ thuộc quá mức vào hệ sinh thái Android .

Hạn Chế Hiện Tại Và Kế Hoạch Tương Lai

Language server vẫn ở trạng thái pre-alpha với những hạn chế đáng kể. Hiện tại, chỉ các dự án Kotlin Gradle chỉ dành cho JVM hoạt động ngay lập tức, và việc triển khai này một phần là closed-source. JetBrains nêu tốc độ phát triển và các phụ thuộc cơ sở hạ tầng nội bộ là lý do cho cách tiếp cận cấp phép hỗn hợp, hứa hẹn phát hành open-source đầy đủ sau khi ổn định ban đầu.

Hỗ trợ Windows vẫn chưa hoàn chỉnh, và server yêu cầu Java 17 trở lên để hoạt động. Công ty cảnh báo rằng không có đảm bảo về tính ổn định ở giai đoạn này, khiến nó phù hợp cho thử nghiệm nhưng không dành cho công việc sản xuất.

Bất chấp những hạn chế này, phản ứng của cộng đồng đã cực kỳ tích cực. Nhiều nhà phát triển coi đây là sự thừa nhận đã quá muộn rằng việc áp dụng ngôn ngữ đòi hỏi phải hỗ trợ các nhà phát triển ở nơi họ đã làm việc, thay vì buộc họ phải chuyển đổi công cụ. Sự có mặt của một LSP độc lập cũng mở ra khả năng hỗ trợ Kotlin trong các trình soạn thảo khác như Emacs , Vim và các lựa chọn mới hơn như Zed .

Điều này đại diện cho một sự chuyển đổi chiến lược đáng kể của JetBrains , chuyển từ cách tiếp cận hệ sinh thái đóng sang việc áp dụng ngôn ngữ rộng rãi hơn. Liệu canh bạc này có mang lại sự gia tăng trong việc sử dụng Kotlin hay không vẫn còn phải xem, nhưng nó rõ ràng báo hiệu sự nhận thức của công ty rằng bối cảnh phát triển hiện đại đòi hỏi tính linh hoạt trong lựa chọn công cụ.

Tham khảo: Language Server for Kotlin