Tổng hợp các packages và cài đặt cần thiết cho việc lập trình Python trên Sublime Text

đăng lúc

Tổng hợp các package, thiết đặt cần thiết trên Sublime text cho lập trình viên Python...

Như tiêu đề của bài viết, hôm nay mình đã quay trở lại với một bài viết có thể giúp các bạn lập trình Python trên Sublime Text được dễ dàng và hiệu quả hơn.


Đầu tiên, mình sẽ nói về việc tại sao nên chọn Sublime Text (ST) để lập trình Python. Mọi IDE hay Code Editor đều có điểm mạnh riêng. Ví dụ như với Pycharm, IDE này được tối ưu và hỗ trợ hoàn hảo cho việc lập trình Python, hay Eclipse cũng là một đối thủ mạnh trong các công cụ hỗ trợ lập trình Python, Eclipse thì miễn phí và với IDE này bạn còn có thể lập trình Java siêu tốt nữa,....

Còn về Sublime text, điểm mạnh của code editor này là siêu nhẹ và nhanh, độ nhẹ của nó chắc thuộc hàng vô địch rồi. Tất nhiên, không thể so sánh với notepad hay notepad++, vì Sublime text không đơn thuần chỉ là một code editor hay text editor mà còn bao gồm rất nhiều các cài đặt, và package để giúp các bạn code thoải mái, tiện lợi như trên IDE vậy. Ngon như vậy nhưng nó lại chỉ nặng hơn notepad không đáng kể.

Nếu các bạn vẫn chưa biết cách cài Python và Sublime text thì có thể tham khảo bài này nhé: Python cho người mới bắt đầu: Cài đặt và tài liệu.
 
Oke. Bắt đầu nào. Package đầu tiên mình muốn nói đến ở đây là:

1. Anaconda

bài viết trước, mình cũng đã nói về package này rồi. Package "thần thánh" này là mấu chốt để biến Sublime text từ một Code Editor thành một IDE Python xịn sò. Chúng ta sẽ điểm qua vài tính năng hữu ích trên các IDE mà ST sẽ có được sau khi cài đặt Anaconda:

  • Gợi ý code nhanh.
  • Báo lỗi cú pháp và những lỗi vi phạm chuẩn PEP8.
  • Báo lỗi khi bạn import nhầm thư viện
  • Tự động định dạng lại code theo chuẩn PEP8
  • Tự động import thư viện còn thiếu
  • Hiển thị document khi bạn cần tra cứu về thư viện, phương thức...
Trên đây chỉ là một vài tính năng hay cần tới mà Anaconda mang lại. Công cụ này còn rất nhiều tính năng khác nữa, các bạn có thể tìm hiểu thêm tại: http://damnwidget.github.io/anaconda/

Về cách cài đặt Anaconda trên Sublime text, rất đơn giản các bạn chỉ cần tìm Anaconda trong danh sách Package của ST và chọn để cài đặt thôi.


Nếu các bạn vẫn chưa biết cách cài đặt thì thể xem bài viết này nhé: Python cho người mới bắt đầu: Cài đặt và tài liệu

2. SublimeREPL

Một trong những điều mà mọi người hay gặp phải, nhất là với những ai mới bắt đầu học Python và sử dụng ST đó là bạn không thể nhập được dữ liệu từ bàn phím khi complie code với phím tắt Ctrl + B trên ST.

Ví dụ: bạn có một lệnh input để nhập giá trị của một biến như sau:


Các bạn có thể thấy, khi complie code trên Sublime text, mọi thứ vẫn diễn ra chuẩn xác, chỉ có có điều bạn không thể nhập dữ liệu từ bàn phím mà thôi. Dù các có viết dữ liệu vào ô kết quả rồi enter thì cũng sẽ không có gì xảy ra cả, dữ liệu bạn mới nhập cũng sẽ không được in ra dù có lệnh print bên dưới. Hay nói cách khác, code sẽ chết đứng khi gặp lệnh input.

Vì thế các bạn sẽ phải chuyển ra complie trên CMD mỗi kho cần nhập gì đó để test code. Khá bất tiện phải không nào. Cũng vì thế mà nhiều người đã bỏ Sublime tới với các chân trời mới.

SublimeREPL đã được sinh ra để khắc phục điều này. Với SublimeREPL, các bạn có thể complie code một cách hoàn hảo ngay trên Sublime text mà không cần chuyển tab sang CMD để complie.

Với SublimeREPL, chúng ta đã có thể compile code một cách hoàn hảo ngay trên ST.

Các bạn có thể dễ dàng cài đặt SublimeREPL tương tự như cài các Package khác của Sublime text vậy.


Sau khi cài đặt xong SublimeREPL, để tiện sử dụng, các bạn hãy cài phím tắt cho công cụ. Trên thanh công cụ của Sublime text, các bạn chọn như sau:

PreferencesKey Bindings

Lúc này, một cửa sổ sẽ hiện ra, các bạn hãy copy đoạn mã bên dưới và dán vào ô bên phải của cửa sổ này:

{ "keys": ["ctrl+alt+b"], "command": "run_existing_window_command", "args":
{
    "id": "repl_python_run",
    "file": "config/Python/Main.sublime-menu"
}}

Sau đó các bạn ấn tổ hợp phím Ctrl + S để lưu lại thay đổi nhé.


Từ giờ trở đi, để complie code, thay vì ấn tổ hợp phím Ctrl + B các bạn hãy ấn tổ hợp phím: Ctrl + Alt + B để complie code hoàn hảo với SublimeREPL nhá.

Demo complie code Python trên Sublime Text với SublimeREPL.

3. Chỉnh sửa lại User Setting

Một vài quy tắc về phong cách code Python theo chuẩn PEP8 là cuối file nên có một dòng trống, một dấu Tab nên bằng 4 dấu khoảng cách (space) và nên dùng space thay vì dùng tab, một dòng comment code thì nên chỉ có tối đã 72 kí tự, những dòng code khác thì chỉ nên có tối đã 79 kí tự,....

Và để dễ dàng cho việc đảm bảo các quy tắc này, các bạn chỉ việc thêm một vài setting vào ST thôi. Sau đó trong quá trình code, Sublime Text sẽ tự động giúp các bạn tuân thủ các quy tắc này.

Để thực hiện, các bạn làm như sau. Trên thanh công cụ các bạn chọn:

PreferencesSettings

Sau đó, tương tự như mục 2, các bạn cũng thêm đoạn code dưới đây vào ô bên phải của cửa sổ mới mở ra:

{
    "ensure_newline_at_eof_on_save": true,
    "rulers":
    [
        72, 79
    ],
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_trailing_white_space_on_save": true
}

Lưu ý: Nếu ở ô bên phải này đã có sẵn một vào dòng code rồi thì các bạn hãy thêm một dấu phẩy vào cuối dòng code cuối cùng ở đoạn code đã có sẵn, và sau đó thêm đoạn code không có cặp {} vào bên dưới đoạn code có sẵn nhé.

Ví dụ:

{
    //existed_code,

    "ensure_newline_at_eof_on_save": true,
    "rulers":
    [
        72, 79
    ],
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_trailing_white_space_on_save": true
}

Sau khi thêm xong, các bạn cũng nhớ ấn Ctrl + S để lưu lại cài đặt nhé.

Lưu ý nữa: Sau khi các bạn thêm và lưu lại đoạn code trên vào Settings của Sublime text, khi thoát ra các bạn sẽ thấy có 2 đường kẻ nét đứt dọc mới được thêm vào ST như hình bên dưới. 2 đường kẻ này một đường là 72 kí tự tính từ trái qua, đường còn lại là 79 kí tự tính tự trái qua. Mục đích là để giúp các bạn dễ tuân theo chuẩn PEP8 mà mình nói bên trên.


Nếu các bạn thấy vướng mắt hay không quen, thì các bạn chỉ việc vào lại: PreferencesSettings sau đó xóa bỏ đoạn

    "rulers":
    [
        72, 79
    ],

đi là sẽ không còn thấy bóng dáng 2 đường kia nữa. Còn những dòng code setting khác các bạn nên để nguyên vì chúng rất hữu ích và cần thiết cũng như không ảnh hưởng tới thẩm mỹ trong quá trình code của các bạn. Các setting này cũng sẽ không có ảnh hưởng gì to tát lắm nếu bạn có lập trình các ngôn ngữ khác trên Sublime text đâu nhé.

4. Flake8

Flake8 là một package chuyên dụng và cực kì cần thiết để hỗ trợ các bạn soát lỗi vi phạm PEP8 trong code của mình từ việc import thư viện thừa, hay đặt tên biến không theo chuẩn,...

Đầu tiên, các bạn mở CMD lên và chạy lệnh sau để cài đặt flake8:

pip3 install flake8

Sau khi cài đặt thành công, các bạn đã có thể kiểm tra một cách thủ công xem code của các bạn có vi phạm PEP8 hay không bằng cách chạy lệnh sau trên CMD:

flake8 file.py

Tuy vậy đang code trên Sublime text lại phải chạy ra CMD để check code thủ công sẽ rất cực. Vì thế, để lỗi code được báo trực tiếp ngay khi code như các IDE xịn sò, các bạn hãy mở Sublime text lên và cài thêm hai package dưới đây vào Sublime text.

5. SublimeLinter và SublimeLinter-flake8

Như đã quảng cáo ở mục 4, với SublimeLinterSublimeLinter-flake8, các bạn sẽ được tận hưởng dịch vụ 5 sao của các IDE xịn sò, đó là bạn code đến đâu cũng sẽ được tự động soát lỗi ngay đến đó. Nhờ thế mà bạn có thể sửa lỗi ngay mà không cần vất vả ra chạy thủ công flake8 trên CMD.

Về cài đặt, các bạn cài SublimeLinter trước, sau đó mới cài SublimeLinter-flake8 nhá. Cách cài đặt thì các bạn có thể dễ dàng cài đặt hai package này tương tự như cài các package thông dụng khác của ST thôi.

Sau khi cài đặt xong, khi các bạn code trên Sublime text sẽ có chỉ dẫn báo lỗi trực tiếp như hình demo bên dưới. Các bạn chỉ cần đưa trỏ chuột vào dòng được đánh dấu là có lỗi sẽ biết ngay là mình mắc lỗi gì:

Flake8 thông báo rằng thư viện requests được import nhưng chưa được sử dụng.
Với việc chỉnh sửa thiết đặt và cài thêm các package trên vào Sublime text, các bạn đã có ngay một IDE nhanh, nhẹ nhưng vẫn đủ ngon để code Python rồi.

Nếu các bạn còn có các package khác hoặc cách thiết đặt nào hay hơn để làm Sublime text ngon hơn nữa thì hãy comment ở bên dưới để chia sẻ với mình và mọi người nhé.

Nếu các bạn có cần trợ giúp hay có góp ý gì để bài viết của mình tốt hơn thì cũng comment bên dưới nhaaa.

Cảm ơn các bạn đã đọc bài. Đừng quên nhấn nút.... và chia sẻ bài viết nhé. 😀😀😀😂😂😂

Nguồn: tổng hợp từ quá trình tìm kiếm trên Google.

Bản quyền bài viết thuộc về Rebvn.com. Mọi copy vui lòng ghi rõ nguồn.

Nội dung chính
    Bài đăng mới hơn Bài đăng cũ hơn