簡體   English   中英

為 python 函數更改 VS 代碼中的縮進

[英]change indentation in VS code for python functions

我正在使用 VS 代碼編寫 python 代碼。

編寫函數時,我得到: 在此處輸入圖像描述

當我在方法的每個變量之后點擊返回時,我想要的是: 在此處輸入圖像描述

但是在第一個參數之后點擊返回后,下一行就在“def”下面開始。

在 inte.net 中尋找解決方案后,我在某處讀到將其添加到 settings.json 將解決它:

"editor.autoIndent": true, "editor.indentAfterOpenBracket": "control" }

但事實並非如此,行為保持不變。

如何以及應該在 settings.json 中添加什么來獲得這種行為。

要在 VS Code 中更改 Python 函數的縮進,您可以使用YAPF ,您可以安裝“YAPF Formatter”擴展,然后將其配置為使用所需的縮進樣式來格式化代碼。 以下是執行此操作的步驟:

  • 通過在擴展市場中搜索或訪問以下鏈接,在 VS Code 中安裝“ YAPF Formatter ”擴展: https://marketplace.visualstudio.com/items?itemName=mr-konn.yapf

  • 通過轉到“文件”>“首選項”>“設置”或按Ctrl +,

  • settings.json文件中,添加以下行以配置YAPF以使用所需的縮進樣式:

    "python.formatting.yapfArgs": [
        "--style={based_on_style: pep8, indent_width: 4}"
    ],
  • 保存 settings.json 文件,然后您可以通過轉到“編輯”>“格式化文檔”或使用快捷鍵Ctrl+Shift+I來格式化 python 文件

注意:您還可以通過修改 yapfArgs 設置中的 indent_width 和 based_on_style 字段,將 YAPF 配置為使用與上例中提到的不同的縮進樣式

我認為 VSCode 中沒有這樣的設置。 為此,您需要使用格式化程序。 您可以將 VSCode 配置為使用Black

不管行的長度有多長,如果你在參數的末尾加上, ,它會將它們放在不同的行中:

# in
def short(a, b,):
    pass

# out
def short(
    a,
    b,
):
    pass

但是括號在這里是問題(除非你不在乎)。 布萊克不會像你展示的那樣把它們放在參數上。

我使用 balck,你可以運行命令pip install black並將以下代碼添加到你的設置中。json:

  "python.formatting.provider": "black",

您可以閱讀黑色文檔以獲取更多詳細信息。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM