vscode代碼格式化


背景 

  寫c/cpp的時候一直習慣了大括號換行的風格,而Android源碼中是不換行的,看着實在是很難受,所以每次打開一個文件的時候,都會先格式化一下。

  之前看的低版本的Android,直接使用vscode默認的代碼格式化功能就可以了,但是最近用它看Android8.1的代碼,卻發現不能格式化了。

  開始我還以為是插件沖突啥的,於是就把插件禁用了,還是不行,而且打開之前低版本的代碼,還是能正常的格式化,所以推測不是插件問題。

 解決方法

  通過各種姿勢搜索vscode代碼格式化,都是讓設置【C_Cpp: Clang_format_fallback Style】,我把所有風格試了個遍,都沒有任何作用

  

 

 

  后來仔細看選項說明才發現,如果【C_Cpp: Clang_format_style】選項設置為【file】,會優先使用【.clang-format】文件中的配置,然后看該選項果然是file

  

  於是去查找項目下有沒有【.clang-format】,果然找到了很多,

  

 

   隨便查看一個,果然里面設置的google代碼風格

  

 

   直接把這些【.clang-format】文件刪除就可以了。

刪除腳本

  文件太多了,手動刪除太麻煩,寫了個py腳本刪除,腳本參數為要刪除【.clang-format】文件的路徑,要是不想刪除,可以重命名備份下。

import os
import sys


def delete_clang_format():
    curr_dir = os.getcwd()
    files = os.listdir('.')
    for name in files:
        if os.path.islink(name):
            pass
        elif os.path.isdir(name):
            os.chdir(name)
            delete_clang_format()
            os.chdir('..')
        elif os.path.isfile(name) and name == '.clang-format':
            print (curr_dir + '/' + name)
            # os.remove('.clang-format')
            os.rename('.clang-format', '.clang-format.back')


if __name__ == '__main__':
    os.chdir(sys.argv[1])
    delete_clang_format()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM