file-type

Emacs中使用prettier.el实现代码自动格式化

ZIP文件

下载需积分: 9 | 104KB | 更新于2025-01-30 | 183 浏览量 | 0 下载量 举报 收藏
download 立即下载
根据给定的文件信息,以下是详细的关于标题、描述和标签中涉及的知识点: ### 标题知识点:prettier.el - Emacs的漂亮代码格式 - **Prettier**: Prettier 是一个流行的代码格式化工具,它支持多种编程语言,并且可以通过配置文件或命令行选项对代码进行自动格式化。它在提高代码可读性和维护性方面非常有用。 - **Emacs软件包**: 在 Emacs 中,软件包是指可以扩展编辑器功能的模块。prettier.el 就是这样一个软件包,它将 Prettier 集成到 Emacs 编辑器中。 - **代码格式化**: 代码格式化通常涉及自动调整源代码的布局,以符合一套预定义的风格指南。它包括缩进、空格、括号匹配、换行和注释等代码风格的标准化。 ### 描述知识点 - **开销**: 描述中提到的“开销”指的是使用 prettier.el 运行代码格式化时,系统需要消耗的资源和时间。 - **保存文件**: 通常,代码格式化会在文件保存时自动触发。这意味着每次保存文件时,prettier.el 都会格式化文件内容。 - **长期运行的进程**: Prettier 在一个长期运行的进程中运行,意味着它不是每次格式化时都重新启动,而是持续存在,这样可以减少启动 Node.js 进程的开销。 - **Node的启动开销**: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。每次运行 Node.js 应用程序时,都会有一定的启动开销。但当 prettier 在一个长期运行的进程中运行时,这个启动开销只需支付一次。 - **V8 JIT编译**: V8 是一个开源的 JavaScript 引擎,它使用即时编译(JIT)技术。在 prettier.el 的上下文中,更长时间的进程运行允许 V8 JIT 编译更好地优化代码。 - **tramp-mode**: tramp(Transparent Remote Access, Multiple Protocol)是 Emacs 中用于访问远程文件的模式。prettier.el 支持通过 tramp-mode 重新格式化远程文件。 - **集成**: prettier.el 支持与 Emacs 中的许多主要模式(mode)集成,这意味着它能够与不同编程语言的编辑模式协作,为各种语言提供格式化功能。 ### 标签知识点 - **emacs**: Emacs 是一个非常灵活且功能丰富的文本编辑器,它允许用户通过安装各种软件包(如 prettier.el)来扩展其功能。 - **prettier**: 标签中再次强调了 prettier 这一核心工具,表明 prettier.el 与 Prettier 工具的直接关联。 - **Emacs Lisp**: Emacs 使用一种名为 Emacs Lisp 的编程语言来编写扩展。prettier.el 软件包是用 Emacs Lisp 编写的,以便能够嵌入到 Emacs 编辑器中。 ### 压缩包子文件的知识点 - **prettier.el-master**: 这个文件名表明了我们讨论的 Emacs 软件包的主文件,它可能包含了定义软件包行为的所有代码。 - **软件包安装**: 描述中提到了安装 prettier.el 的方法,即通过 Emacs 的 MELPA (Milkypostman's ELPA) 软件包仓库。用户可以使用 `M-x package-install RET prettier RET` 命令来安装软件包。 综上所述,prettier.el 是一个强大的 Emacs 软件包,它将 Prettier 的代码格式化能力带入 Emacs,为编程和代码编辑提供了便捷和高效的格式化解决方案。它的集成方式、性能优化以及支持远程文件格式化的特性,都是其主要卖点。此外,它不是官方的 Prettier 集成,所以用户在寻找相关功能时,应留意官方软件包和第三方实现的区别。

相关推荐

filetype

{ // 界面配置路径 Text Editor "editor.wordWrap": "bounded", // 设置 超过word Wrap Column设置的字符数、达到视口最小宽度,时自动换行 "editor.wordWrapColumn": 120, // editor.wordWrap 配置为wordWrapColumn或者bounded时起作用 "editor.insertSpaces": true, // 设置输入tab键时是否自动转为插入空格(默认ture,即自动转空格),当editor.detectIndentation配置为 true 时,该配置项将被自动覆盖 "editor.detectIndentation": false, // 设置是否自动检测对齐,控制打开文件时是否基于文件内容,自动检测editor.tabSize 和editor.insertSpaces "javascript.format.insertSpaceBeforeFunctionParenthesis": true, // js 函数名后面配置空格 "typescript.format.insertSpaceBeforeFunctionParenthesis": true, // ts 函数名后面配置空格 // 界面配置路径 Text Editor -> Font "editor.fontSize": 16, //设置延迟一定的时间后自动保存文件 // "files.autoSaveDelay": 1000, // 设置自动保存文件前需要延迟的时间,单位毫秒 默认1000 "files.enableTrash": true, // 设置删除文件、目录时是否允许删除到操作系统回收站,默认为true,即允许 "files.encoding": "utf8", // 设置读写文件时所用编码 默认UTF-8,可针对每种语言进行设置 "files.autoGuessEncoding": false, // 设置黏贴内容时是否自动格式化,true表示自动格式化,需要配置格式化器(formatter)才可使用 "editor.formatOnSave": true, // 设置保存文件时是否自动格式化,true表示自动格式化,需要配置格式化器(formatter)才可使用 "editor.formatOnSaveMode": "file", // 设置输入完成后是否自动格式化当前行 // 界面配置路径 Text Editor -> Minimap "editor.minimap.maxColumn": 120, // 设置minimap的宽度以设置可渲染的最大列数,默认120, // 界面配置路径 Text Editor -> Suggestions "editor.quickSuggestions": null, // 默认选项为on 设置回车时是否接受默认建议选项 // Eslint插件配置 "editor.codeActionsOnSave": { "source.fixAll.eslint": "never" }, // 界面配置路径 Extensiosn -> ESlint "eslint.alwaysShowStatus": true, // 设置状态栏是否一直显示ESlint图标项,true表示一直显示 "eslint.format.enable": true, // 设置是否把ESlint作为一个格式化器,true表示启用 // Prettier插件配置 // 界面配置路径 Extensiosn -> Prettier "prettier.enable": true, // 设置是否开启prettier插件,默认为true,即开启 "prettier.semi": false, // 设置是否在每行末尾添加分号,默认为 true "prettier.singleQuote": true, // 设置格式化时,保持单引号,如果设置为true,则单引号会自动变成双引号 "prettier.tabWidth": 2, // 设置每个tab占用多少个空格 "prettier.printWidth": 140, // 设置每行可容纳字符数 "prettier.useTabs": false, // 设置是否使用tab键缩进行,默认为false,即不使用 "prettier.bracketSpacing": true, // 在对象,括号与文字之间加空格 true - Example: { foo: bar } false - Example: {foo: bar}, 默认为true "prettier.jsxBracketSameLine": true, // 设置在jsx中,是否把'>' 单独放一行,默认为false,即单独放一行 // 设置各种代码的默认格式化器//以下为默认配置 "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, "[vue]": { "editor.defaultFormatter": "Vue.volar" }, // Vetur插件配置 "vetur.format.enable": true, // 设置是否禁用插件格式化功能 // 默认为true,即开启 "vetur.format.defaultFormatter.css": "prettier", // 设置css代码(<style>包含的代码块)默认格式化器 "vetur.format.defaultFormatter.sass": "sass-formatter", "vetur.format.defaultFormatter.postcss": "prettier", "vetur.format.defaultFormatter.scss": "prettier", "vetur.format.defaultFormatter.less": "prettier", "vetur.format.defaultFormatter.stylus": "stylus-supremacy", "vetur.format.defaultFormatter.html": "prettier", // 设置html代码(<template>包含的代码块)默认格式化器 "vetur.format.defaultFormatter.js": "vscode-typescript", // 设置js代码<script>包含的代码块) "vetur.format.defaultFormatter.ts": "prettier", // 设置vetur默认使用 prettier格式化代码 "vetur.format.options.tabSize": 2, // 设置tab键占用的空格数,该配置将被所有格式化器继承 "vetur.format.options.useTabs": false, // 设置是否使用tab键缩进 默认false,即不使用,该配置将被所有格式化器继承 //"vetur.ignoreProjectWarning": true // 控制是否忽略关于vscode项目配置错误的告警,默认为false,即不忽略, "editor.fontFamily": "Cascadia Code", "editor.fontLigatures": true, "editor.linkedEditing": true, "editor.renderControlCharacters": true, "editor.renderWhitespace": "all", "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "liveServer.settings.donotVerifyTags": true, "liveServer.settings.donotShowInfoMsg": true, "editor.suggest.snippetsPreventQuickSuggestions": false, "javascript.updateImportsOnFileMove.enabled": "always", "files.associations": { "*.art": "html", "*.vue": "vue" }, "tabnine.experimentalAutoImports": true, //编辑器格式化工具 "workbench.editor.enablePreview": false, //打开文件不覆盖 "search.followSymlinks": false, //关闭rg.exe进程 "editor.minimap.enabled": false, //编辑自动保存 "editor.codeLensFontFamily": "Cascadia Code", "editor.useTabStops": true, "editor.stickyTabStops": true, "[scss]": { "editor.defaultFormatter": "Wscats.eno" }, // "files.autoSave": "afterDelay", "Codegeex.Privacy": true, "git.confirmSync": false, "files.autoSave": "onFocusChange", "settingsSync.ignoredExtensions": [] }上面的配置是VSCode的settings.json,如何修改适合Vue3的开发,Vetur换成Vue (Official),vue3的插件是Vue (Official)

filetype
起飞页
  • 粉丝: 46
上传资源 快速赚钱