Trình soạn thảo mã JavaScript

Trình soạn thảo mã nguồn là nơi chúng ta dành hầu hết thời gian trên đó, hiện tại có hai dạng là IDE và lightweight editor. Có rất nhiều các trình soạn thảo mã nguồn hiện nay, tuy nhiên để lựa chọn được một phần mềm phù hợp nó phụ thuộc vào nhiều yếu tố, một yếu tố quan trọng là phải đáp ứng được những nhu cầu cơ bản khi viết mã chương trình:

  • Phân tích cú pháp và bôi màu văn bản (syntax highlighting): đây là một nhu cầu cơ bản nhất, khi mã nguồn được bôi màu cho các lệnh, biến, cấu trúc nó giúp bạn đọc và phát hiện lỗi dễ dàng hơn. Ngoài ra, nếu được cá nhân hóa màu sắc theo một danh sách màu yêu thích sẽ là một điểm cộng cho ứng dụng. Syntax highlighting cũng cần phải mang tính mềm dẻo do tuy chúng ta viết JavaScript nhưng lại sử dụng các ngôn ngữ, framework ở tầng cao hơn ví dụ TypeScript, Vue.js, React.. thì cú pháp hoàn toàn khác tuy rằng phần chuyển đổi ở dưới lại về với JavaScript, chúng ta cần trình soạn thảo mã nguồn đáp ứng được khi có những cú pháp mới này thông qua các plugin.

Syntax Highlighting

  • Khớp nối các ký tự đóng mở ngoặc (bracket matching): không chỉ trong mã nguồn mà các văn bản thông thường cũng cần tuân thủ việc đóng mở ngoặc. Các ngoặc bao gồm: ngoặc vuông [ ], ngoặc tròn ( ), ngoặc nhọn { }, dấu nháy đơn ‘ ‘, dấu nháy kép ” “. Tính năng này giúp cho chúng ta tránh khỏi các lỗi thiếu ngoặc dẫn đến sai về tính logic trong lập trình. Ví dụ (a and b or c) sẽ khác với (a and (b or c)), ví dụ này là rất đơn giản, trong lập trình có những biểu thức logic rất dài, không có khớp nối đóng mở ngoặc bạn sẽ rất khó để phát hiện ra lỗi logic ở đâu.

Bracket matching

  • Gợi ý câu lệnh (autocompletion): một ngôn ngữ có rất nhiều các câu lệnh, hàm, biến môi trường, cấu trúc khác nhau, chưa kể là những lớp thư viện do bạn tự viết ra, thật khó để nhớ hết được, do vậy việc gợi ý câu lệnh và tự động hoàn thành từ là tính năng rất cần thiết, nó cũng giúp cho việc lập trình nhanh chóng hơn.

AutoCompletion

  • Ẩn hiện mã nguồn theo nhóm (code folding): tính năng này có thể có hoặc không nhưng nếu có nó cũng giúp bạn khá nhiều, trong các dự án lớn có những file lên đến hàng nghìn dòng lệnh với rất nhiều các hàm khác nhau, ví dụ bạn đang làm việc với hai hàm mà giữa chúng là các hàm khác với hàng nghìn dòng code, bạn ẩn tạm đi các hàm ở giữa này, như vậy khi làm việc với hai hàm trên sẽ thật thuận tiện.

Code folding

IDE

IDE viết tắt của Integrated Development Environment tạm dịch là Môi trường tích hợp phát triển, nó là một trình soạn thảo mạnh mẽ với nhiều tính năng có thể đáp ứng cho hoạt động của toàn bộ dự án. IDE tải một dự án và cho phép định hướng giữa các tệp, gợi ý câu lệnh, tích hợp với hệ thống quản lý phiên bản như Git, một môi trường kiểm thử.
Nếu bạn cân nhắc lựa chọn một IDE thì có thể tham khảo các IDE dưới đây:
+ IntelliJ editor: WebStorm dùng để phát triển fontend, PHPStorm (PHP), IDEA (Java), RubyMine (Ruby)…
+ Visual Studio cũng rất tốt nếu bạn là lập trình viên .NET
+ Các sản phẩm dựa trên Eclipse như Aptana và Zend Studio.
+ Komodo IDE

Các IDE ở trên hầu hết đều có bản chạy trên các hệ điều hành khác nhau như Windows, MacOS, Linux ngoại trừ Visual Studio. Hầu hết các IDE là phần mềm trả phí nhưng cũng có bản dùng thử, chi phí các phiên bản này thường là không quá lớn.

Lightweight editor

Lightweight editor là những trình soạn thảo rút gọn, tuy rằng chúng không mạnh mẽ như các IDE nhưng chúng rất nhanh và đơn giản. Chúng thường được dùng khi bạn muốn mở và chỉnh sửa một file ngay lập tức. Sự khác biệt chính giữa lightweight editor và IDE là IDE làm việc ở mức dự án do vậy nó cần tải dữ liệu trong quá trình bắt đầu, phân tích cấu trúc dự án nếu cần và những công việc khác. Trong thực tế, lightweight editor cần được cài thêm các plugin để thực hiện các công việc như phân tích cú pháp, gợi ý câu lệnh… do vậy ranh giới giữa lightweight editor và IDE không quá rõ ràng.

Lightweight editor có thể phân chia thành hai loại là trình soạn thảo ở chế độ văn bản (ví dụ Vi/vim và Emacs) và trình soạn thảo dạng cửa sổ. Lợi điểm lớn nhất của trình soạn thảo chế độ văn bản (text-mode editor) là ngoài việc sử dụng chúng trên máy tính của bạn, bạn còn có thể sử dụng chúng thông qua giao thức SSH, bạn có thể truy cập đến một máy tính từ xa và chỉnh sửa file với các trình soạn thảo kiểu này. Trình soạn thảo dạng cửa sổ (windowed editor) thì lại cho cảm giác hiện đại và có nhiều thành phần giao diện hữu ích hơn.

Danh sách dưới đây là một số các lightweight editor rất phổ biến:
+ Visual Studio Code: phần mềm miễn phí và có nhiều phiên bản chạy trên các nền tảng khác nhau.
+ Atom: phần mềm miễn phí và có nhiều phiên bản chạy trên các nền tảng khác nhau.
+ Sublime Text: phần mềm trả phí, có bản dùng thử không giới hạn thời gian và có nhiều phiên bản chạy trên các nền tảng khác nhau.
+ Notepad++: phần mềm miễn phí và chỉ chạy trên Windows
+ Vim và Emacs cũng là những lightweight editor tuyệt vời nếu bạn biết cách sử dụng.

Trình soạn thảo mã nguồn của tôi

Trong thực tế công việc, tôi sử dụng cả IDE và lightweight editor, IDE phục vụ cho các dự án lớn và lightweight editor cho các công việc đơn giản hơn cần phải thực hiện nhanh chóng.
+ IDE tôi hiện đang sử dụng là các phần mềm của Jetbrains là WebStorm cho JavaScript và PHPStorm cho PHP. Các phần mềm này được viết bằng Java do vậy lúc khởi tạo ứng dụng là khá lâu.
+ Lightweight editor mà tôi rất thích sử dụng là Sublime Text, chạy cực nhanh và có rất nhiều các plugin để phục vụ đủ các công việc cần thiết.

Lời kết

Các trình soạn thảo mã nguồn ở trên là những phần mềm mà tôi cũng như rất nhiều bạn bè, đồng nghiệp của tôi sử dụng trong thời gian dài và rất hài lòng với nó. Có rất nhiều các trình soạn thảo tuyệt vời, quan trọng là “khẩu vị” của mỗi người, giống như khi chúng ta đánh giá các món ăn vậy. Việc lựa chọn trình soạn thảo phụ thuộc vào sở thích cá nhân, thói quan và yêu cầu công việc, dự án.

Add Comment