Development Environment နှင့် Tools များ

Development environment (ဆော့ဖ်ဝဲလ် ရေးသားသည့် ပတ်ဝန်းကျင်) ဆိုသည်မှာ ဆော့ဖ်ဝဲလ် ရေးသားထုတ်လုပ်ရန်အတွက် အသုံးပြုသည့် tools များ အစုအဝေး ဖြစ်သည်။ Development environment တစ်ခု၏ အဓိက ဗဟိုချက်မှာ စာသား ပြင်ဆင်တည်းဖြတ်သည့် (text editing) လုပ်ဆောင်ချက် ဖြစ်ပြီး၊ ၎င်းနှင့်အတူ syntax highlighting၊ type checking၊ code formatting နှင့် autocomplete ကဲ့သို့သော တွဲဖက် လုပ်ဆောင်ချက်များ ပါဝင်သည်။ VS Code ကဲ့သို့သော Integrated development environments (IDEs) များသည် ဤလုပ်ဆောင်ချက် အားလုံးကို ဆော့ဖ်ဝဲလ် အက်ပလီကေးရှင်း တစ်ခုတည်းအတွင်း စုစည်း ပေးထားသည်။ Terminal အခြေပြု ဆော့ဖ်ဝဲလ် ရေးသားမှု လုပ်ငန်းစဉ်များ (Terminal-based development workflows) တွင်မူ tmux (terminal multiplexer တစ်ခု)၊ Vim (text editor တစ်ခု)၊ Zsh (shell တစ်ခု) နှင့် Ruff (Python linter နှင့် code formatter တစ်ခု)၊ Mypy (Python type checker တစ်ခု) တို့ကဲ့သို့သော သက်ဆိုင်ရာ ပရိုဂရမ်းမင်း ဘာသာစကားအလိုက် သီးသန့် အသုံးပြုသည့် command-line tools များကို ပေါင်းစပ် အသုံးပြုကြသည်။

IDEs နှင့် terminal အခြေပြု လုပ်ငန်းစဉ်များတွင် ၎င်းတို့၏ အားသာချက်၊ အားနည်းချက်များ အသီးသီး ရှိကြသည်။ ဥပမာအားဖြင့် Graphical IDEs များသည် လေ့လာရ ပိုမို လွယ်ကူနိုင်ပြီး ယနေ့ခေတ် IDEs များတွင် AI autocomplete ကဲ့သို့သော AI ပေါင်းစပ် လုပ်ဆောင်ချက်များ အသင့် ပါဝင်လေ့ ရှိသည်။ အခြားတစ်ဖက်တွင်လည်း Terminal အခြေပြု လုပ်ငန်းစဉ်များသည် ပေါ့ပါးပြီး GUI မရှိသော သို့မဟုတ် ဆော့ဖ်ဝဲလ် အသစ် တပ်ဆင်ခွင့် မရှိသော ပတ်ဝန်းကျင်များတွင် အသုံးပြုနိုင်သည့် တစ်ခုတည်းသော နည်းလမ်း ဖြစ်နိုင်သည်။ သင့်အနေဖြင့် နည်းလမ်း နှစ်ခုလုံးနှင့် အခြေခံကျွမ်းကျင်မှု ရှိထားပြီး အနည်းဆုံး နည်းလမ်း တစ်ခုကို ကျွမ်းကျင်စွာ အသုံးပြုနိုင်ရန် အကြံပြုလိုပါသည်။ သင့်တွင် အသုံးပြုနေကျ IDE မရှိသေးပါက VS Code ဖြင့် စတင်ရန် အကြံပြုပါသည်။

ဒီသင်ခန်းစာမှာ ကျွန်တော်တို့ အောက်ပါ အကြောင်းအရာများကို ဆွေးနွေးသွားပါမည်-

စာသား တည်းဖြတ်ခြင်း နှင့် Vim

ပရိုဂရမ် ရေးသားသည့်အခါ သင်၏ အချိန်အများစုကို စာကြောင်းအရှည်ကြီးများ ဆက်တိုက် ရေးသားခြင်း သို့မဟုတ် ဖိုင်တစ်ခုလုံးကို အထက်မှ အောက်သို့ အဆုံးထိ ဖတ်ရှုခြင်းတို့ထက် ကုဒ်များအတွင်း သွားလာလှုပ်ရှားခြင်း၊ ကုဒ် အစိတ်အပိုင်းများကို ဖတ်ရှုခြင်းနှင့် ကုဒ်များကို ပြင်ဆင်တည်းဖြတ်ခြင်းတို့တွင် ပိုမို ကုန်လွန်စေသည်။ Vim သည် ဤကဲ့သို့သော အလုပ်များကို ထိရောက်စွာ လုပ်ဆောင်နိုင်ရန် အထူး ပြုပြင်ဖန်တီးထားသည့် text editor တစ်ခု ဖြစ်သည်။

Vim ၏ အခြေခံ သဘောတရား။ Vim ၏ အခြေခံတွင် လှပသော အတွေးအခေါ် တစ်ခု ရှိသည် - ၎င်း၏ interface ကိုယ်တိုင်က စာသားများကို သွားလာကြည့်ရှုရန်နှင့် ပြင်ဆင်တည်းဖြတ်ရန် ဒီဇိုင်းထုတ်ထားသည့် ပရိုဂရမ်းမင်း ဘာသာစကား တစ်ခု ဖြစ်သည်။ ခလုတ်နှိပ်ချက်များ (မှတ်မိလွယ်သော အမည်များပါဝင်သည့်) သည် command များ ဖြစ်ကြပြီး ဤ command များကို ပေါင်းစပ် အသုံးပြုနိုင်ပါသည်။ Vim သည် မောက်စ် (mouse) အသုံးပြုခြင်းကို ရှောင်ကြဉ်သည်၊ အကြောင်းမှာ မောက်စ်ကို သုံးခြင်းသည် နှေးကွေးလွန်းသောကြောင့် ဖြစ်သည်။ Vim သည် အကွာအဝေး အဝေးကြီး လှုပ်ရှားရမှုများသည့်အတွက် arrow keys များကိုပင် ရှောင်ကြဉ်သည်။ ရလဒ်အနေဖြင့် - ဦးနှောက်နှင့် ကွန်ပျူတာ တိုက်ရိုက် ချိတ်ဆက်ထားသကဲ့သို့ ခံစားရပြီး သင်၏ တွေးခေါ်မှု မြန်နှုန်းနှင့် အမှီ လိုက်နိုင်သည့် editor တစ်ခု ဖြစ်လာစေသည်။

အခြား ဆော့ဖ်ဝဲလ်များတွင် Vim ကို ထောက်ပံ့ပေးထားမှု။ Vim ၏ အဓိက အနှစ်သာရ အယူအဆများမှ အကျိုးကျေးဇူး ရရှိရန်အတွက် Vim ဆော့ဖ်ဝဲလ် သီးသန့်ကိုပဲ အသုံးပြုရန် မလိုပါ။ စာသား တည်းဖြတ်မှု ပါဝင်သည့် ပရိုဂရမ် အများအပြားသည် “Vim mode” ကို သီးသန့် plugin အဖြစ် သို့မဟုတ် အသင့်ပါဝင်သော လုပ်ဆောင်ချက်အဖြစ် ထောက်ပံ့ပေးထားကြသည်။ ဥပမာအားဖြင့် VS Code တွင် VSCodeVim plugin ရှိပြီး၊ Zsh တွင် Vim emulation အတွက် အသင့်ပါဝင်သည့် ထောက်ပံ့မှု ပါရှိသည်၊ ထို့ပြင် Claude Code တွင်ပင် Vim editor mode အတွက် အသင့်ပါဝင်သည့် ထောက်ပံ့မှု ပါဝင်ပါသည်။ သင် အသုံးပြုသည့် စာသား တည်းဖြတ်မှု ပါဝင်သော မည်သည့် tool မဆို Vim mode ကို နည်းလမ်း တစ်ခုခုဖြင့် ထောက်ပံ့ပေးထားနိုင်ခြေ အလွန် များပါသည်။

Vim သည် modal editor တစ်ခု ဖြစ်သည် - လုပ်ဆောင်ရမည့် လုပ်ငန်း အမျိုးအစားများအပေါ် မူတည်၍ ကွဲပြားသော လုပ်ဆောင်မှု mode များ ပါရှိသည်။

ခလုတ်နှိပ်ချက်များ (Keystrokes) သည် သက်ဆိုင်ရာ လုပ်ဆောင်မှု mode အပေါ် မူတည်၍ အဓိပ္ပာယ် ကွဲပြားသွားသည်။ ဥပမာအားဖြင့် Insert mode တွင် x စာလုံးကို နှိပ်ပါက “x” စာလုံးကိုသာ ရိုက်ထည့်ပေးမည် ဖြစ်သော်လည်း Normal mode တွင် နှိပ်ပါက cursor ရောက်နေသော စာလုံးကို ဖျက်ပစ်မည် ဖြစ်ပြီး Visual mode တွင်မူ ရွေးချယ်ထားသော စာသား (selection) ကို ဖျက်ပစ်မည် ဖြစ်သည်။

Vim ၏ မူလ ပုံသေ သတ်မှတ်ချက်တွင် လက်ရှိ ရောက်ရှိနေသည့် mode ကို အောက်ခြေ ဘယ်ဘက်ထောင့်တွင် ဖော်ပြပေးထားသည်။ စတင်အသုံးပြုချိန် မူလ mode မှာ Normal mode ဖြစ်သည်။ ပုံမှန်အားဖြင့် သင်၏ အချိန်အများစုကို Normal mode နှင့် Insert mode တို့အကြား ကူးပြောင်း အသုံးပြုရမည် ဖြစ်သည်။

မည်သည့် mode မှမဆို Normal mode သို့ ပြန်လည် ကူးပြောင်းရန် <ESC> (escape key) ကို နှိပ်ခြင်းဖြင့် mode ကို ပြောင်းလဲနိုင်သည်။ Normal mode မှနေ၍ Insert mode သို့ ဝင်ရောက်ရန် i၊ Replace mode သို့ ဝင်ရောက်ရန် R၊ Visual mode သို့ ဝင်ရောက်ရန် v၊ Visual Line mode သို့ ဝင်ရောက်ရန် V၊ Visual Block mode သို့ ဝင်ရောက်ရန် <C-v> (Ctrl-V၊ အချို့နေရာများတွင် ^V ဟုလည်း ရေးသားကြသည်) နှင့် Command-line mode သို့ ဝင်ရောက်ရန် : ကို အသုံးပြုနိုင်သည်။

Vim အသုံးပြုချိန်တွင် <ESC> key ကို အကြိမ်အများပြား နှိပ်ရမည် ဖြစ်သဖြင့် Caps Lock key ကို Escape အဖြစ် ရေတွက်ရန် remapping လုပ်ခြင်း (macOS အတွက် လမ်းညွှန်) သို့မဟုတ် ရိုးရှင်းသော key အစီအစဉ် တစ်ခုဖြင့် <ESC> အတွက် အစားထိုး mapping ရေးဆွဲခြင်း တို့ကို ပြုလုပ်ထားရန် စဉ်းစားပါ။

အခြေခံများ- စာသား ရိုက်ထည့်ခြင်း

Normal mode မှနေ၍ Insert mode သို့ ဝင်ရောက်ရန် i ကို နှိပ်ပါ။ ၎င်းနောက်တွင် <ESC> ကို နှိပ်၍ Normal mode သို့ မပြန်မချင်း Vim သည် အခြားသော text editor များကဲ့သို့ လုပ်ဆောင်နေမည် ဖြစ်သည်။ ထိုလုပ်ဆောင်ချက်နှင့် အထက်တွင် ရှင်းပြခဲ့သော အခြေခံများသည် Vim ဖြင့် ဖိုင်များကို စတင် ပြင်ဆင်တည်းဖြတ်ရန် လိုအပ်သမျှ ဖြစ်ပါသည် (သို့သော် သင်၏ အချိန်အားလုံးကို Insert mode ထဲ၌သာ ကုန်လွန်နေပါက ပိုမို ထိရောက်မှု ရှိမည်တော့ မဟုတ်ပါ)။

Vim ၏ interface သည် ပရိုဂရမ်းမင်း ဘာသာစကား တစ်ခု ဖြစ်သည်

Vim ၏ interface သည် ပရိုဂရမ်းမင်း ဘာသာစကား တစ်ခု ဖြစ်သည်။ ခလုတ်နှိပ်ချက်များ (မှတ်မိလွယ်သော အမည်များပါရှိသော) သည် command များ ဖြစ်ကြပြီး ဤ command များကို တွဲဖက် ပေါင်းစပ် နိုင်ပါသည်။ ၎င်းသည် မြန်ဆန် ထိရောက်သော ရွှေ့လျားမှုများနှင့် ပြင်ဆင်မှုများကို ပြုလုပ်နိုင်စေသည်၊ အထူးသဖြင့် keyboard ၏ ခလုတ် တည်နေရာများကို မှတ်မိသွားချိန်တွင် စာရိုက်ခြင်းက အလွန် မြန်ဆန် လာသကဲ့သို့ ထို command များသည် muscle memory ဖြစ်လာသည့်အခါ အလွန် ထိရောက် လာမည် ဖြစ်သည်။

ရွှေ့လျားခြင်း (Movement)

သင်၏ အချိန်အများစုကို Normal mode တွင် ကုန်လွန်စေပြီး ဖိုင်အတွင်း သွားလာ ရွှေ့လျားရန်အတွက် movement command များကို အသုံးပြုသင့်သည်။ Vim တွင် ရွှေ့လျားမှုများကို “နာမ်များ” (nouns) ဟုလည်း ခေါ်ဆိုကြသည်၊ အကြောင်းမှာ ၎င်းတို့သည် စာသား အစိတ်အပိုင်းများကို ညွှန်းဆိုသောကြောင့် ဖြစ်သည်။

ရွေးချယ်ခြင်း (Selection)

Visual mode များ-

စာသားများကို ရွေးချယ် (selection) ပြုလုပ်ရန် movement key များကို အသုံးပြုနိုင်သည်။

ပြင်ဆင်တည်းဖြတ်ခြင်း (Edits)

ယခင်က မောက်စ်ဖြင့် ပြုလုပ်ခဲ့သမျှ အရာအားလုံးကို ယခုအခါ movement command များ နှင့် ပေါင်းစပ်ထားသည့် editing command များ သုံး၍ keyboard ဖြင့် ပြုလုပ်နိုင်သည်။ ဤနေရာတွင် Vim ၏ interface သည် ပရိုဂရမ်းမင်း ဘာသာစကား တစ်ခုနှင့် စတင် တူညီလာသည်။ Vim ၏ editing command များကို “tool အပြုအမူများ” (verbs) ဟုလည်း ခေါ်ဆိုကြသည်၊ အကြောင်းမှာ tool အပြုအမူများသည် နာမ်များ (nouns) အပေါ် သက်ရောက် လုပ်ဆောင်သောကြောင့် ဖြစ်သည်။

အရေအတွက်များ (Counts)

နာမ်များ (nouns) နှင့် tool အပြုအမူများ (verbs) ကို အရေအတွက် (count) တစ်ခုနှင့် ပေါင်းစပ် သုံးနိုင်ပြီး၊ ၎င်းသည် သတ်မှတ်ထားသော လုပ်ဆောင်ချက်ကို အရေအတွက် အကြိမ်အရေအတွက်အတိုင်း လုပ်ဆောင်ပေးမည် ဖြစ်သည်။

ပြုပြင်မွမ်းမံမှုများ (Modifiers)

နာမ်တစ်ခု၏ အဓိပ္ပာယ်ကို ပြောင်းလဲရန် modifiers များကို အသုံးပြုနိုင်သည်။ modifiers အချို့မှာ “အတွင်းပိုင်း” သို့မဟုတ် “အထဲ၌” ဟု အဓိပ္ပာယ်ရသော i နှင့် “အပြင်ဘက် အပါအဝင်” သို့မဟုတ် “ပတ်လည်” ဟု အဓိပ္ပာယ်ရသော a တို့ ဖြစ်ကြသည်။

အားလုံးကို ပေါင်းစပ် အသုံးပြုခြင်း

ဤနေရာတွင် မှားယွင်းနေသော fizz buzz ရေးသားချက် တစ်ခု ရှိသည်-

def fizz_buzz(limit):
    for i in range(limit):
        if i % 3 == 0:
            print("fizz", end="")
        if i % 5 == 0:
            print("fizz", end="")
        if i % 3 and i % 5:
            print(i, end="")
        print()

def main():
    fizz_buzz(20)

Normal mode မှ စတင်၍ ပြဿနာများကို ပြင်ဆင်ရန် အောက်ပါ command အစီအစဉ်အတိုင်း အသုံးပြုကြပါမည်-

Vim ကို လေ့လာခြင်း

Vim ကို လေ့လာရန် အကောင်းဆုံး နည်းလမ်းမှာ အခြေခံများ (ယခုအချိန်အထိ ကျွန်တော်တို့ ဆွေးနွေးခဲ့ပြီးသော အကြောင်းအရာများ) ကို လေ့လာပြီးနောက် သင်အသုံးပြုသည့် ဆော့ဖ်ဝဲလ် အားလုံးတွင် Vim mode ကို ဖွင့်ပြီး လက်တွေ့ စတင် အသုံးပြုခြင်း ဖြစ်သည်။ မောက်စ် သို့မဟုတ် arrow key များကို အသုံးပြုလိုသည့် သွေးဆောင်မှုကို ရှောင်ကြဉ်ပါ၊ အချို့သော editor များတွင် အလေ့အကျင့်ကောင်းများ စွဲမြဲစေရန် arrow key များကို unbind ပြုလုပ်ထားနိုင်သည်။

ထပ်ဆောင်း အရင်းအမြစ်များ

Code intelligence နှင့် language servers

IDEs များသည် ပုံမှန်အားဖြင့် Language Server Protocol ကို အကောင်အထည်ဖော်ထားသည့် language servers များနှင့် ချိတ်ဆက်ထားသော IDE extensions များမှတစ်ဆင့် ကုဒ်၏ သဘောတရားဆိုင်ရာ နားလည်မှုကို လိုအပ်သည့် သက်ဆိုင်ရာ ပရိုဂရမ်းမင်း ဘာသာစကားအလိုက် ထောက်ပံ့မှုများကို ပေးအပ်ကြသည်။ ဥပမာအားဖြင့် VS Code အတွက် Python extension သည် Pylance ပေါ်တွင် အမှီပြုထားပြီး၊ VS Code အတွက် Go extension သည် သီးသန့်ထုတ်လုပ်ထားသော gopls ပေါ်တွင် အမှီပြုထားသည်။ သင် အသုံးပြုသည့် ဘာသာစကားများအတွက် extension နှင့် language server များကို တပ်ဆင်ခြင်းဖြင့် သင့် IDE တွင် ဘာသာစကားဆိုင်ရာ လုပ်ဆောင်ချက် အများအပြားကို အသုံးပြုနိုင်မည် ဖြစ်သည်၊ ဥပမာ-

Language servers များကို ပြင်ဆင် သတ်မှတ်ခြင်း

အချို့သော ဘာသာစကားများအတွက် extension နှင့် language server တို့ကို တပ်ဆင်လိုက်ရုံဖြင့် အားလုံး အဆင်သင့် ဖြစ်သွားမည် ဖြစ်သည်။ အခြားသော ဘာသာစကားများအတွက်မူ language server ထံမှ အပြည့်အဝ အကျိုးကျေးဇူး ရရှိရန် သင့် IDE ထံသို့ သင့် ပတ်ဝန်းကျင် (environment) အကြောင်း ပြောပြပေးရန် လိုအပ်သည်။ ဥပမာအားဖြင့် VS Code ကို သင့် Python environment ထို့သို့ ညွှန်ပြပေးခြင်းဖြင့် language server ကို သင် တပ်ဆင်ထားသော packages များကို မြင်တွေ့နိုင်စေမည် ဖြစ်သည်။ Environments အကြောင်းကို ကျွန်တော်တို့၏ code များကို ထုပ်ပိုးခြင်း နှင့် ဖြန့်ဝေခြင်း ဆိုင်ရာ သင်ခန်းစာ တွင် ပိုမို အသေးစိတ် ဆွေးနွေးထားပါသည်။

ဘာသာစကားအပေါ် မူတည်၍ သင့် language server အတွက် ပြင်ဆင် သတ်မှတ်နိုင်သည့် settings အချို့ ရှိနိုင်သည်။ ဥပမာအားဖြင့် VS Code တွင် Python ထောက်ပံ့မှုကို အသုံးပြု၍ Python ၏ optional type annotations များကို အသုံးမပြုသော project များအတွက် static type checking ကို ပိတ်ထားနိုင်သည်။

AI စွမ်းအားသုံး ဆော့ဖ်ဝဲလ် ရေးသားခြင်း

၂၀၂၁ အလယ်ပိုင်းတွင် OpenAI ၏ Codex model ကို အသုံးပြုထားသည့် GitHub Copilot စတင် မိတ်ဆက်ချိန်မှစ၍ LLMs များကို ဆော့ဖ်ဝဲလ် အင်ဂျင်နီယာ လောကတွင် ကျယ်ကျယ်ပြန့်ပြန့် အသုံးပြုလာကြသည်။ လက်ရှိတွင် အဓိက အသုံးပြုနေသည့် ပုံစံ ၃ မျိုး ရှိသည် - autocomplete၊ inline chat နှင့် coding agents တို့ ဖြစ်ကြသည်။

Autocomplete

AI စွမ်းအားသုံး autocomplete သည် သင့် IDE ရှိ ရိုးရာ autocomplete နှင့် ပုံစံတူပင် ဖြစ်ပြီး သင် စာရိုက်နေစဉ် cursor ရောက်ရှိနေသည့် နေရာတွင် ဖြည့်စွက်ချက်များကို အကြံပြုပေးသည်။ အချို့ အချိန်များတွင် ၎င်းကို “အလိုလို အဆင်ပြေနေသည့်” သာမန် လုပ်ဆောင်ချက် တစ်ခုအဖြစ် အသုံးပြုကြသည်။ ထို့ပြင် AI autocomplete ကို ပုံမှန်အားဖြင့် ကုဒ်မှတ်ချက်များ (code comments) အသုံးပြု၍ prompt ပေးကြသည်။

ဥပမာအားဖြင့် ဤသင်ခန်းစာ မှတ်စုများ၏ ပါဝင်အကြောင်းအရာများကို Download ရယူပြီး လင့်ခ်များ အားလုံးကို ထုတ်ယူပေးမည့် script တစ်ခု ရေးသားကြပါစို့။ ကျွန်တော်တို့အနေဖြင့် အောက်ပါအတိုင်း စတင် ရေးသားနိုင်သည်-

import requests

def download_contents(url: str) -> str:

Model သည် function ၏ အဓိက အစိတ်အပိုင်းကို အလိုအလျောက် ဖြည့်စွက်ပေးမည် ဖြစ်သည်-

    response = requests.get(url)
    return response.text

ကျွန်တော်တို့သည် မှတ်ချက်များကို အသုံးပြု၍ ဖြည့်စွက်ချက်များကို ထပ်မံ လမ်းညွှန်ပေးနိုင်သည်။ ဥပမာအားဖြင့် Markdown လင့်ခ်များ အားလုံးကို ထုတ်ယူရန် function တစ်ခု စတင်ရေးသားသော်လည်း ၎င်းတွင် လုံလောက်သော အမည်ဖော်ပြချက် မရှိသေးပါက-

def extract(contents: str) -> list[str]:

Model သည် အောက်ပါအတိုင်း ဖြည့်စွက်ပေးပေလိမ့်မည်-

    lines = contents.splitlines()
    return [line for line in lines if line.strip()]

ကျွန်တော်တို့သည် ကုဒ် မှတ်ချက်များမှတစ်ဆင့် ဖြည့်စွက်မှုကို လမ်းညွှန်ပေးနိုင်သည်-

def extract(content: str) -> list[str]:
    # extract all Markdown links from the content

ဤတစ်ကြိမ်တွင် Model သည် ပိုမိုကောင်းမွန်သော ဖြည့်စွက်မှုကို ပေးအပ်သည်-

    import re
    pattern = r'\[.*?\]\((.*?)\)'
    return re.findall(pattern, content)

ဤနေရာတွင် ဤ AI coding tool ၏ အားနည်းချက် တစ်ခုကို မြင်တွေ့နိုင်သည်- ၎င်းသည် cursor နေရာတွင်သာ ဖြည့်စွက်ချက်များကို ပေးနိုင်ခြင်း ဖြစ်သည်။ ဤဖြစ်ရပ်တွင် import re ကို function အတွင်း၌ ထည့်သွင်းမည့်အစား module အဆင့်တွင် ထားရှိခြင်းက ပိုမိုကောင်းမွန်သော အလေ့အကျင့် ဖြစ်ပေလိမ့်မည်။

အထက်ပါ ဥပမာသည် ကုဒ်မှတ်ချက်များ သုံး၍ code completion ကို မည်သို့ လမ်းညွှန်နိုင်သည်ကို ပြသရန်အတွက် နာမည် သေချာ မပေးထားသော function ကို အသုံးပြုထားခြင်း ဖြစ်သည်၊ လက်တွေ့တွင် သင်အနေဖြင့် extract_links ကဲ့သို့သော ပိုမို ရှင်းလင်းစွာ အမည်ပေးထားသည့် function များဖြင့် ရေးသားလိုမည် ဖြစ်ပြီး docstring များကိုလည်း ရေးသားလိုမည် ဖြစ်သည် (ထိုအပေါ် မူတည်၍ model သည် အထက်ပါအတိုင်း တူညီသော ဖြည့်စွက်ချက်ကို ထုတ်ပေးရမည် ဖြစ်သည်)။

စမ်းသပ်ပြသရန် အလို့ငှာ ကျွန်တော်တို့ script ကို အပြီးသတ် ရေးသားနိုင်သည်-

print(extract(download_contents("https://raw.githubusercontent.com/missing-semester/missing-semester/refs/heads/master/_2026/development-environment.md")))

Inline chat

Inline chat သည် စာကြောင်း သို့မဟုတ် အစိတ်အပိုင်းတစ်ခုကို ရွေးချယ်ပြီး ပြင်ဆင်မှု ပြုလုပ်ရန် AI model ထံသို့ တိုက်ရိုက် prompt ပေးနိုင်စေသည်။ ဤ တုံ့ပြန်မှု mode တွင် model သည် ရှိပြီးသား ကုဒ်များကို ပြင်ဆင်ပေးနိုင်သည် (cursor ၏ နောက်ပိုင်းမှ ကုဒ်များကိုသာ ဖြည့်စွက်ပေးသည့် autocomplete နှင့် ကွဲပြားသည်)။

အထက်ပါ ဥပမာကို ဆက်လက် လေ့လာရလျှင် ပြင်ပမှ requests library ကို မသုံးရန် ဆုံးဖြတ်လိုက်သည် ဆိုပါစို့။ သက်ဆိုင်ရာ စာကြောင်း ၃ ကြောင်းကို ရွေးချယ်၍ inline chat ကို ခေါ်ယူပြီး အောက်ပါအတိုင်း ပြောဆိုနိုင်သည်-

use built-in libraries instead

Model မှ အောက်ပါအတိုင်း အဆိုပြု ပေးပါမည်-

from urllib.request import urlopen

def download_contents(url: str) -> str:
    with urlopen(url) as response:
        return response.read().decode('utf-8')

Coding agents

Coding agents အကြောင်းကို Agentic Coding သင်ခန်းစာ တွင် ပိုမို အသေးစိတ် ဆွေးနွေးထားပါသည်။

အကြံပြုထားသော ဆော့ဖ်ဝဲလ်များ

လူကြိုက်များသော AI IDEs အချို့မှာ GitHub Copilot extension ပါဝင်သည့် VS Code နှင့် Cursor တို့ ဖြစ်ကြသည်။ GitHub Copilot ကို လက်ရှိတွင် ကျောင်းသားများ၊ ဆရာ/မများနှင့် လူကြိုက်များသော open source project များမှ ပြုပြင်ထိန်းသိမ်းသူများအတွက် အခမဲ့ ရရှိနိုင်ပါသည်။ ဤနယ်ပယ်သည် အလွန် လျင်မြန်စွာ တိုးတက်ပြောင်းလဲနေသော နယ်ပယ် ဖြစ်သည်။ ထိပ်တန်း ထုတ်ကုန် အများအပြားတွင် အကြမ်းအားဖြင့် တူညီသော လုပ်ဆောင်ချက်များ ပါရှိကြသည်။

Extensions များ နှင့် အခြား IDE လုပ်ဆောင်ချက်များ

IDEs များသည် စွမ်းဆောင်ရည်မြင့်မားသော tools များ ဖြစ်ကြပြီး extensions များ ကြောင့် ပိုမို စွမ်းဆောင်ရည် မြင့်မားလာကြသည်။ ကျွန်တော်တို့အနေဖြင့် သင်ခန်းစာ တစ်ခုတည်းတွင် ဤလုပ်ဆောင်ချက် အားလုံးကို မဖော်ပြနိုင်သော်လည်း လူကြိုက်များသော extension အချို့အတွက် ညွှန်ပြချက် အချို့ကို ဤနေရာတွင် ပေးအပ်ထားပါသည်။ ဤနယ်ပယ်ကို ကိုယ်တိုင် စူးစမ်း လေ့လာရန် တိုက်တွန်းပါသည်၊ အွန်လိုင်းတွင် Vim plugins များအတွက် Vim Awesome နှင့် လူကြိုက်အများဆုံး စီစဉ်ထားသော VS Code extensions များ ကဲ့သို့သော လူကြိုက်များသည့် IDE extensions စာရင်းများစွာ ရှိပါသည်။

လေ့ကျင့်ခန်းများ

  1. သင့် editor နှင့် သင့် shell ကဲ့သို့သော Vim mode ထောက်ပံ့သည့် သင်အသုံးပြုနေသော ဆော့ဖ်ဝဲလ် အားလုံးတွင် Vim mode ကို ဖွင့်ပြီး ရှေ့လာမည့် လအတွင်း သင့် စာသား တည်းဖြတ်မှု အားလုံးအတွက် Vim mode ကို အသုံးပြုပါ။ တစ်စုံတစ်ခု လုပ်ဆောင်ရာတွင် မထိရောက်ဟု ခံစားရပါက သို့မဟုတ် “ပိုမိုကောင်းမွန်သော နည်းလမ်း ရှိရမည်” ဟု တွေးမိပါက Google တွင် ရှာဖွေကြည့်ပါ၊ ပိုမိုကောင်းမွန်သော နည်းလမ်း ရှိနေနိုင်ပါသည်။
  2. VimGolf မှ စိန်ခေါ်မှု တစ်ခုကို အပြီးသတ်ပါ။
  3. သင် လုပ်ဆောင်နေသော project တစ်ခုအတွက် IDE extension နှင့် language server ကို ပြင်ဆင် သတ်မှတ်ပါ။ Library dependencies များအတွက် jump-to-definition ကဲ့သို့သော မျှော်လင့်ထားသည့် လုပ်ဆောင်ချက် အားလုံး မှန်ကန်စွာ အလုပ်လုပ်ကြောင်း သေချာပါစေ။ ဤလေ့ကျင့်ခန်းအတွက် သုံးနိုင်သော ကုဒ်မရှိပါက GitHub မှ open-source project တစ်ခုခုကို အသုံးပြုနိုင်ပါသည် (ဤ project ကဲ့သို့သော)။
  4. IDE extensions စာရင်းကို လေ့လာပြီး သင့်အတွက် အသုံးဝင်မည့် extension တစ်ခုကို တပ်ဆင်ပါ။

Edit this page.

Licensed under CC BY-NC-SA.