scala - 如何在 sbt shell 会话开始时显示项目特定的消息?
问题描述
我想在sbt(不是 Scala)会话开始时显示特定于项目的消息,类似于启动 Scala REPL 时显示的消息。这将是某种帮助消息,但针对特定于该项目的命令或流程。
$ scala
Welcome to Scala 2.12.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_181).
Type in expressions for evaluation. Or try :help.
scala>
是否有内置的方法来执行此操作或 sbt 插件?如果没有,我还能如何实现这一目标?
解决方案
您可以定义一个虚拟设置值作为访问 SBT 记录器的一种方式。
val welcomeMessage = settingKey[Unit]("Welcome message")
welcomeMessage := {
sLog.value.info("<some message here>")
}
笔记:
- 每当运行 SBT 时都会显示此消息,而不仅仅是在调用它以进入 SBT 提示符时。
- 这可能不是要显示的最后一条消息
如果希望在访问 Scala 控制台而不是 SBT 提示符时显示消息,那么有更直接的支持。该initialCommands
设置允许您设置在首次进入 Scala 控制台时运行的代码片段,其中可能包括打印一些消息。
推荐阅读
- flutter - 扑。ShaderMask 无法从本地容器中获取对齐
- php - 我想将 html 苍蝇与 php 文件连接起来
- c# - 从浏览器中的地址行执行时获取 415 不受支持的媒体类型,提供 JSON 作为 .NET Core 3 中路由的参数
- python - 如果满足条件,嵌套列表中的简单元素减法?
- javascript - 如何在 json.message 对象中显示多个图像?
- chapel - 尝试使用 forall 循环对矩阵中的所有元素求和时遇到错误
- c# - 如何使用 lambda 缩短 if without else 语句?
- javascript - 如何将作为字符串导入的 png 注入 div 标签?
- python - groupby 之后的使用条件
- php - How to send commands using SOAP to AzerothCore worldserver console?