diskusi.tech (beta) Community

loading...
Cover image for Konfigurasi VSCode Biar Kamu Nyaman Saat Ngoding Python

Konfigurasi VSCode Biar Kamu Nyaman Saat Ngoding Python

pyk profile image Bayu Aldi Yansyah ・4 min read

Sudah sekitar 3 tahun ini saya menggunakan Visual Studio Code (VSCode) untuk ngoding kerjaan atau hobi sehari-hari.

Alasan utama saya pindah dari kode editor Vim ke VSCode adalah karena PC saya menggunakan Windows 10. Jadi saya harus pakai kode editor yang bisa dipakai di laptop kantor (macOS) dan PC pribadi (Windows 10) 😆

Selain itu, fitur-fitur VSCode seperti Visual Studio Code Server juga sangat membantu untuk mempermudah pekerjaan saya 👍

Bahasa pemograman yang sering saya gunakan saat ini adalah Python.

Untuk itu, di artikel ini saya coba berbagi sedikit tips untuk mengkonfigurasi VSCode agar temen-temen disini nyaman saat ngoding Python.

Setelah mengikuti konfigurasi ini, kamu akan bisa:

  1. Mengaktifkan fitur IntelliSense di Python
  2. Integrasi Virtual Environment
  3. Integrasi Black untuk Python Code Formatter
  4. Integrasi MyPy untuk Python Static Type Checker
  5. Integrasi Pylint untuk Python Code Linter

Nanti kalau ada kesulitan langsung komen di bawah yah!

Ekstensi Python di VSCode

Langkah awal yang harus dilakukan adalah kita harus install ekstensi Python dulu.

Ekstensi Python di Visual Studio Code

Untuk install ekstensi Python di VSCode, berikut langkah-langkahnya:

  1. Buka VSCode
  2. Lalu tekan tombol CTRL + SHIFT + X secara bersamaan untuk membuka Extension Marketplace
  3. Cari ekstensi Python dengan kata kunci python
  4. Lalu klik Install pada eksensi Python yang dibuat oleh Microsoft.

Berikut tampilan setelah ekstensi Python berhasil ter-install:

Ekstensi Python Berhasil Terinstall

Fitur IntelliSense di VSCode akan aktif secara otomatis.

Oke, langkah berikutnya adalah mengkonfigurasi ekstensi Python.

Konfigurasi Ekstensi Python

Untuk memulai konfigurasi VSCode, Klik File > Preferences > Settings.

Pengaturan VS Code

Pada menu Settings, pilih tab Workspace lalu klik Open Settings as JSON di pojok kanan atas:

Buka Pengaturan Sebagai JSON Files

Ini akan otomatis membuat file baru .vscode/settings.json.

Atau, file konfigurasinya bisa kita buat secara manual melalui Terminal dengan perintah berikut:

$ mkdir .vscode
$ touch .vscode/settings.json
Enter fullscreen mode Exit fullscreen mode

Nanti semua konfigurasinya akan kita simpan di dalam file .vscode/settings.json.

Integrasi Virtual Environment

Setiap project yang saya handle di kumparan, saya selalu menggunakan virtual environment untuk menyimpan dependencies-nya.

Dalam setiap direktori utama bisa run ini untuk membuat virtualenv baru:

$ python -m venv venv
Enter fullscreen mode Exit fullscreen mode

dan untuk mengaktifkannya tinggal jalanin perintah ini:

$ source venv/bin/activate
(venv) $
Enter fullscreen mode Exit fullscreen mode

Untuk integrasi virtual environment ke VSCode caranya mudah banget, tambahkan konfigurasi berikut ke dalam .vscode/settings.json.

{
  "python.pythonPath": "venv/bin/python"
}
Enter fullscreen mode Exit fullscreen mode

Rubah "venv" sesuai nama folder virtualenv yang kamu buat.

Dengan konfigurasi ini, VSCode akan menggunakan interpreter Python yang sudah kita tentukan beserta semua dependencies yang tersimpan dalam virtual environment tersebut.

Perapihan Kode Secara Otomatis

Kerapihan kode yang ditulis sangatlah penting untuk project yang dikerjakan oleh lebih dari satu orang. Hal ini untuk mempermudah orang lain memahami dan ikut berkontribusi ke kode yang kita tulis.

Di Python sendiri, ada tools namanya black yang bisa kita gunakan untuk merapikan kode yang kita tulis secara otomatis.

Install black ke dalam virtual environment yang sudah kita buat di bagian sebelumnya:

(venv) $ pip install -U black
Enter fullscreen mode Exit fullscreen mode

Lalu untuk melakukan perapihan kode yang ditulis secara otomatis waktu menyimpan file, gunakan konfigurasi berikut:

{
  "python.pythonPath": "venv/bin/python",
  "editor.formatOnSave": true,
  "python.formatting.provider": "black",
  "python.formatting.blackArgs": ["--line-length=79"]
}
Enter fullscreen mode Exit fullscreen mode

Dengan konfigurasi ini, semua file dengan ekstensi .py akan di rapihkan oleh black saat kita menyimpannya.

Pengecekan Static Typing

Salah satu fitur terbaru Python 3 yang sangat membantu tim saya adalah Static Typing.

Contoh kasusnya seperti ini:

# Versi 1: Fungsi tanpa anotasi tipe data
def generate_url(id):
    ...

# Versi 2: Fungsi dengan anotasi tipe data
def generate_url(id: int) -> str:
    ...
Enter fullscreen mode Exit fullscreen mode

Dari dua versi fungsi itu, dengan baca saja tentunya versi yang kedua itu lebih mudah dipahami. Kita tau kalau id itu sebauh integer, lalu fungsi generate_url itu outputnya adalah string.

Selain itu, dengan menandai tipe datanya kita akan mencegah bug-bug sebelum fungsi tersebut dijalankan di production.

Misalkan kita menambahkan baris kode seperti ini:

def generate_url(id: int) -> str:
    processed_id = id.split(",")
Enter fullscreen mode Exit fullscreen mode

sebelum kodenya kita jalankan atau deploy di production, kita akan sudah dapat peringatan seperti ini di VSCode:

Tipe data integer tidak punya fungsi split

Karena tipe data id itu integer, maka kita tidak bisa menggunakan fungsi split pada id.

Di Python sendiri ada alat namanya mypy untuk membantu kita melakukan hal tersebut.

Install mypy ke dalam virtual environment yang sudah kita buat di bagian sebelumnya:

(venv) $ pip install -U mypy
Enter fullscreen mode Exit fullscreen mode

Lalu gunakan konfigurasi berikut:

{
  "python.pythonPath": "venv/bin/python",
  "editor.formatOnSave": true,
  "python.formatting.provider": "black",
  "python.formatting.blackArgs": ["--line-length=79"],
  "python.linting.mypyEnabled": true
}
Enter fullscreen mode Exit fullscreen mode

Pengecekan Best Practice Pada Kode Yang Di Tulis

Satu hal lagi yang ingin saya sampaikan adalah mengenai Best Practice penulisan kode di python. Untuk proyek yang dikerjakan lebih dari satu orang, hal ini sangat penting sekali agar kode yang ditulis oleh lebih dari satu orang itu bisa konsisten.

Contoh best practice: semua variable yang di definisikan harus digunakan.

Tim saya menggunakan pylint untuk memastikan semua kode yang ditulis seudah sesuai dengan best practice.

Untuk integrasi pylint ke VSCode, harus di install dlu pylint nya:

(venv) $ pip install -U pylint
Enter fullscreen mode Exit fullscreen mode

Lalu untuk melakukan perapihan kode yang ditulis secara otomatis waktu menyimpan file, gunakan konfigurasi berikut:

{
  "python.pythonPath": "venv/bin/python",
  "editor.formatOnSave": true,
  "python.formatting.provider": "black",
  "python.formatting.blackArgs": ["--line-length=79"],
  "python.linting.pylintEnabled": true
}
Enter fullscreen mode Exit fullscreen mode

Dengan konfigurasi ini, semua file dengan ekstensi .py akan di cek oleh pylint untuk memastikan semuanya sesuai dengan best practice.

Hasil cek dari pylint

Kesimpulan

Ini konfigurasi VSCode yang saya gunakan:

{
  "python.formatting.provider": "black",
  "python.formatting.blackArgs": ["--line-length=79"],
  "python.pythonPath": "venv/bin/python",
  "editor.formatOnSave": true,
  "python.linting.mypyEnabled": true,
  "python.linting.pylintEnabled": true
}
Enter fullscreen mode Exit fullscreen mode

Jika ada pertanyaan bisa langsung komen disini atau hubungi saya di twitter @bayualsyah.

Discussion

pic
Editor guide
Collapse
ricko1993 profile image
ricko1993

mau bertanya jika nnt menjalankan python pakai pycharm, file json akan bermasalah atau tidak?