提问人:Muhmmd Fa 提问时间:10/5/2023 最后编辑:ZahraMuhmmd Fa 更新时间:10/7/2023 访问量:126
我怎样才能在崇高的文本中格式化飞镖代码
How can I format dart code in sublime text
问:
我下载了带有 dart 的 flutter,并开始对崇高的文本进行编码,但是当我按下 formatt 代码时,它给了我错误的消息,即“找不到此类型文件的格式化程序(dart)”。 但是当我运行这个命令“dart format . ”时,代码将被格式化,我的问题是我如何在 sublime 中格式化代码而不是在 cmd 中编写该命令?
注意:
- 当我在 cmd 中运行时,它会显示它的版本,但如果我运行它,它无法像我下载的 codeformatter 包那样识别它
dart --version
dartfmt --version
答:
0赞
SrPanda
10/7/2023
#1
如果你专门指的是插件格式化程序,你不能,不支持 dart,但你可以按照 git 页面上的说明轻松实现它。
如果你不知道/不想自己做,就做这两件事:
使用此代码创建文件(该文件位于 Windows 上)。${packages}/Formatter/modules/formatter_dartformat.py
%APPDATA%/Sublime Text/Packages/Formatter/modules
import logging
from ..core import common
log = logging.getLogger(__name__)
EXECUTABLES = ['dart']
MODULE_CONFIG = {
'name': 'DartFormat',
'source': 'https://dart.dev/tools/dart-format',
'uid': 'dartformat',
'type': 'beautifier',
'syntaxes': ['dart'],
'executable_path': '',
'args': ['format'],
}
class DartformatFormatter:
def __init__(self, *args, **kwargs):
self.view = kwargs.get('view', None)
self.uid = kwargs.get('uid', None)
self.region = kwargs.get('region', None)
self.is_selected = kwargs.get('is_selected', False)
self.pathinfo = common.get_pathinfo(self.view.file_name())
def get_cmd(self):
executable = common.get_executable(
self.view, self.uid, EXECUTABLES, runtime_type=None
)
if executable is not None:
args = common.get_args(self.uid)
cmd = [executable]
cmd.extend(args or MODULE_CONFIG['args'])
return cmd
else:
return None
def format(self, text):
cmd = self.get_cmd()
log.debug('Current arguments: %s', cmd)
cmd = common.set_fix_cmds(cmd, self.uid)
if not cmd:
return None
try:
proc = common.exec_cmd(cmd, self.pathinfo['cwd'])
stdout, stderr = proc.communicate(text.encode('utf-8'))
errno = proc.returncode
if errno > 0:
log.error(
'File not formatted due to an error (errno=%d): "%s"',
errno, stderr.decode('utf-8')
)
else:
return stdout.decode('utf-8')
except OSError:
log.error(
'An error occurred while executing the command: %s',
' '.join(cmd)
)
return None
然后将该模块添加到位于 的配置文件中。${packages}/User/Formatter.sublime-settings
{
// The other variables
"formatters": {
"dartformat": {
"disable": false,
"format_on_save": false,
"syntaxes": ["dart"],
"args": ["format", "-l", "360"],
"executable_path": "O:/Flutter/bin/dart",
},
// The other formatters that you may have
}
}
评论
dart format --version