D语言讨论 开始使用D语言

· Created · Last modified by Brian replied at · 2899 times read

我在想我们是不是有必要开发个 VSCode 插件?哈哈哈

开始使用D语言

D是带GC有运行时依赖(依赖于常规OS)的静态编译性多范式语言,支持GC可选使用,支持无GC,无运行时的类C模式使用,D具有相比C等传统系统编程语言高的多的生产力,比较适合开发服务器,系统应用程序。

安装编译器

到dlang.org下载编译器,有3个D的编译器实现可以选择。对于一般的应用,推荐使用dmd或者ldc.

windows系统

windows上面如果是学习D语言,可以先选择安装dmd,安装过程中,选择MinGW的链接器选项,这样,可以以最小的安装尺寸立马体验到dlang,如果是打算开发windows应用,最好还是选择安装 ms buildtool.

LDC版本的编译器安装,需要依赖微软的链接器,所以,建议安装ms buildtool, LDC目前安装是直接解压,解压后,请注意设置windows的 PATH变量,把LDC的bin文件夹加入其中,这样可以在windows命令行里面直接敲入ldc2和dub来编译D的工程了。

Linux系统

linux系统,主要的发行版,建议直接从系统自带的安装源进行安装,dmd,ldc体验都差不多,链接器都是gcc。

Mac系统

参考这里 苹果 macOS + VSCode 搭建 D 语言开发环境

VSCode编译器与D开发的插件

D语言曾经有社区力量尝试开发多款IDE及其插件,但在D2.0之后,好多项目停止了维护,目前来说,适合使用的是编辑器VS code, Atom的插件与Windows VS的插件。

推荐使用VSCode, 然后使用LSP实现的Dlang扩展或者Code-d.
Code-d的特性相对强大点,但相比Dlang扩展可能稳定性稍逊。

注意:安装扩展时,扩展程序本身需要从github等地方下载资源部署,请耐心等待完成。

dub编译

上面的扩展安装完成后,在你的工作空间下面建立一个目录,使用命令行可以通过dub来初始化一个D的工程:

$ dub init hellod
Package recipe format (sdl/json) [json]: 
Name [hellod]: 
Description [A minimal D application.]: 
Author name [dbh]: 
License [proprietary]: 
Copyright string [Copyright © 2019, dbh]: 
Add dependency (leave empty to skip) []: 
Successfully created an empty project in "/tmp/hellod".
Package successfully created in hellod

$ ls
dub.json  source

$ cat source/app.d 
import std.stdio;

void main()
{
        writeln("Edit source/app.d to start your project.");
}

dub类似于Javascript的npm, Python的pip,可以解决包的依赖和编译,构建工程,也支持链接系统的C, C++ dll, so库文件,还支持通过--compiler=x 来指定编译器,针对嵌入式ARM Linux的交叉编译,也可以通过此选项指定交叉编译器完成。

dub build可以直接下载依赖,构建工程。dub的使用,建议参考:D语言包管理器 dub 的使用入门

@Xueping

你说的远程开发是指什么情况? 编译完部署到远程的主机运行? (Linux)?

赞一个!能否趁热打铁来一篇基于VS Code的远程开发(D语言)文章?

Login to reply