Sublime Text插件anaconda自动补全及解决中文乱码

New versions of this anaconda plugin only works with Python >= 3.6 and requires Sublime Text 4 build >= 4107。This means versions higher than 2.2.3 will not work in Sublime Text 3

 配置自定义的anaconda Preference–Package Setttings–Anaconda–Settings User

{
    "python_interpreter": "c:\\Python38\\python.exe",
    //由于Anaconda插件本身无法知道Python安装的路径,所以需要设置Python主程序的实际位置
    //忽略各种空格不对, 超过79字,没怎么遇到
    "pep8_ignore": ["E501", "W292", "E303", "W391", "E225", "E302", "W293", "E402"],
    //import的库没使用
    "pyflakes_explicit_ignore":
    [
        "UnusedImport"
    ],
    //保存文件后自动pep8格式化
    "auto_formatting": true,
    "auto_formatting_timeout": 5,
    //库函数的提示
    "enable_signatures_tooltip": true,
    "enable_docstrings_tooltip": true,
    "merge_signatures_and_doc": true,

    //ST3也有自动补全提示,但只提示文件中输入过的单词,这个功能可用提示变量可用的函数等。
    "suppress_word_completions": true,
    "suppress_explicit_completions": true,
    //会在函数内自动补全变量
    "complete_parameters": false,
    //代码排版时,行的默认长度太短,根据喜好设置
    "pep8_max_line_length": 120,
    "anaconda_linting": false,
}

说明:(sublime插件anaconda的设置[通俗易懂]-腾讯云开发者社区-腾讯云

  1. "python_interpreter":设置Python解释器的路径,确保插件能够正确找到Python解释器。

  2. "pep8_ignore":指定要忽略的PEP 8规则列表。对于你列出的规则(如E501、W292等),插件将不会显示相关的警告或错误。

  3. "pyflakes_explicit_ignore":指定要忽略的pyflakes警告类型列表。在这种情况下,插件将不会显示未使用的导入警告。

  4. "auto_formatting""auto_formatting_timeout":配置自动格式化选项,允许在保存文件后自动应用PEP 8格式化。

  5. "enable_signatures_tooltip""enable_docstrings_tooltip":启用函数的签名提示和文档字符串提示。

  6. "merge_signatures_and_doc":合并函数的签名提示和文档字符串提示。

  7. "suppress_word_completions""suppress_explicit_completions":禁止显示单词补全和显式补全。

  8. "complete_parameters":配置是否在函数内自动补全变量。

  9. "pep8_max_line_length":配置PEP 8规范中每行的最大长度。

  10. "anaconda_linting":禁用Anaconda插件的代码检查功能。

----------------------

使用sys.stdout.reconfigure()方法来重新配置标准输出的编码方式。
通过将编码设置为'utf-8',你可以确保标准输出正确地处理和显示中文字符。
import sys
sys.stdout.reconfigure(encoding='utf-8')

使用io模块中的sys.stdout流对象来创建一个新的输出流,并设置其编码方式为UTF-8。然后使用sys.stdout引用新的输出流。
通过创建新的输出流并设置编码方式为UTF-8,你可以确保中文字符能够正确显示。
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

Sublime Text 将文件编码设置为特定的编码方式
set file encoding to 如果你处理的是包含中文字符的文件,通常推荐使用UTF-8编码,因为它支持广泛的字符范围,并且在国际化文本中被广泛使用。请注意,更改文件编码将影响Sublime Text对文件的解释和显示方式。确保选择与文件内容匹配的适当编码方式。

-----------------------

UTF-8编码支持中文字符。
UTF-8(Unicode Transformation Format-8)是一种可变长度的Unicode编码方式,它能够表示几乎所有的Unicode字符,包括中文字符。

UTF-8编码使用1到4个字节来表示不同的字符,其中包括ASCII字符(1个字节)和其他非ASCII字符(2到4个字节)。对于中文字符,UTF-8编码通常使用3个字节来表示。

由于UTF-8是一种广泛使用的编码方式,被几乎所有的现代操作系统和应用程序支持。因此,当处理包含中文字符的文本或文件时,使用UTF-8编码通常是一个很好的选择,可以确保中文字符能够正确地保存、传输和显示。

在Sublime Text中,选择UTF-8编码是处理包含中文字符的文件的常见做法,以确保正确解释和显示中文内容。

--------------------------------------
检测文件编码
result = chardet.detect(content)

import chardet

def read_file(file_path):
    with open(file_path, 'rb') as f:
        content = f.read()

    # 检测文件编码
    result = chardet.detect(content)
    encoding = result['encoding']
    confidence = result['confidence']
    print('encoding检测到的文件编码方式:',encoding,'\n')
    print('confidence检测置信度:',confidence,'\n')
    print('--------------')

    # 根据检测到的编码方式解码文件内容
    decoded_content = content.decode(encoding)

    return decoded_content

# 调用read_file函数读取文件并获取解码后的内容
file_path = 't检验.py'
content = read_file(file_path)

# 处理解码后的文件内容,例如进行字符串操作或文本分析
# ...

# 输出解码后的内容
print(content)

猜你喜欢

转载自blog.csdn.net/book_dw5189/article/details/131627944
今日推荐