VSCode与Elixir/Phoenix开发环境设置

发布时间 - 2026-01-02 00:00:00    点击率:
需先安装Erlang与Elixir运行时,再配置VSCode的ElixirLS扩展、Phoenix项目环境、调试launch.json及自定义代码片段,以实现完整的本地开发支持。

如果您希望在本地搭建一个用于Elixir和Phoenix框架开发的VSCode编辑环境,则需要配置语言支持、调试能力及项目集成工具。以下是完成该环境设置的具体步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、安装Elixir与Erlang运行时

VSCode本身不提供Elixir执行能力,需先在系统中安装Elixir及其依赖的Erlang/OTP。这是所有后续扩展和调试功能正常工作的基础。

1、打开终端,使用Homebrew执行安装命令:brew install erlang elixir

2、验证安装是否成功:在终端中输入elixir --versionerl,确认输出包含版本号且无报错。

3、确保PATH环境变量已包含Elixir可执行路径,通常为/opt/homebrew/bin(Apple Silicon)或/usr/local/bin(Intel Mac)。

二、配置VSCode核心扩展

VSCode需通过官方认可的扩展实现语法高亮、智能提示、代码格式化及调试支持。这些扩展协同工作,构成完整的Elixir/Phoenix开发体验。

1、启动VSCode,在扩展市场中搜索并安装ElixirLS: Elixir Support(由JakeBecker维护,官方推荐)。

2、安装后重启VSCode,确保状态栏右下角显示Elixir语言模式,并能识别.ex与.exs文件。

3、启用自动格式化:进入设置,搜索elixir.formatOnSave,勾选该项以在保存时自动应用mix format规则。

三、初始化Phoenix项目并关联VSCode

Phoenix项目结构依赖mix工具链生成,VSCode需正确识别_mix.lock_、_config/_等目录以激活项目级功能(如任务运行、测试集成)。

1、在终端中执行mix phx.new hello_world --no-ecto(跳过数据库以简化初始配置)。

2、进入项目根目录:cd hello_world

3、在当前目录中启动VSCode:code .,确保工作区加载了_mix.exs_与_config/config.exs_等关键文件。

四、启用调试支持

ElixirLS内置调试适配器,但需手动创建launch.json配置才能在VSCode中启动Phoenix服务器或运行测试。

1、在VSCode中按下Cmd+Shift+P(macOS),输入并选择Debug: Open launch.json

2、选择环境为Elixir,自动生成模板文件,替换其内容为以下配置:

{"version": "0.2.0","configurations": [{"type": "mix_task","name": "phx.server","request": "launch","projectDir": "${workspaceRoot}","task": "phx.server","taskArgs": []}]}

3、在任意.ex文件中设置断点,按F5启动调试,观察调试控制台输出Phoenix启动日志。

五、配置代码片段与快捷键

Phoenix开发中高频使用路由定义、控制器动作、HTML模板插值等结构,通过自定义代码片段可显著提升编码效率。

1、在VSCode中执行Preferences: Configure User Snippets,选择Elixir语言。

2、添加新片段,例如名为phx_route的条目,其body为:get \"/\", ${1:PageController}, :${2:index}

3、保存后,在router.ex中输入phx_route并按Tab键,即可快速展开为完整路由定义。


# vscode  # html  # js  # json  # 编码  # app  # macbook  # 工具  # mac  # ai  # 路由  # macos  # 环境变量  # r语言  # erlang  # format  # 数据库  # router  # 自定义  # 这是  # 运行环境  # 如果您  # 能在  # 按下  # 报错  # 重启  # 并能  # 该项 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 个人网站制作流程图片大全,个人网站如何注销?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何用搬瓦工VPS快速搭建个人网站?  利用JavaScript实现拖拽改变元素大小  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  java中使用zxing批量生成二维码立牌  图册素材网站设计制作软件,图册的导出方式有几种?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何快速辨别茅台真假?关键步骤解析  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何获取免费开源的自助建站系统源码?  如何打造高效商业网站?建站目的决定转化率  如何用y主机助手快速搭建网站?  Laravel怎么在Blade中安全地输出原始HTML内容  Android滚轮选择时间控件使用详解  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  iOS中将个别页面强制横屏其他页面竖屏  如何在香港免费服务器上快速搭建网站?  Thinkphp 中 distinct 的用法解析  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何发送系统通知?(Notification渠道示例)  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  EditPlus中的正则表达式实战(5)  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Android中AutoCompleteTextView自动提示  香港服务器网站推广:SEO优化与外贸独立站搭建策略  网页设计与网站制作内容,怎样注册网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel怎么清理缓存_Laravel optimize clear命令详解  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel如何创建自定义Facades?(详细步骤)  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  php 三元运算符实例详细介绍  如何在阿里云高效完成企业建站全流程?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  用yum安装MySQLdb模块的步骤方法  千库网官网入口推荐 千库网设计创意平台入口  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何在服务器上配置二级域名建站?