Emacs纯新人,正式研究使用时间不到3天(虽然一年半之前就注册了论坛),折腾了两天研究Emacs的配置文件,主要是拿来当记事本然后写Go和Python的,之前一直用的是GoLand和PyCharm。
在使用过程中一切体验都好(除了刚刚接触的键位,我在强迫自己按照键位来使用),但是有一点让我废了些功夫,就是代码的在线运行,之前Jetbrains都是 Ctrl + Shift + F10
。
研究了一下搞明白了Python代码可以通过M-x
C-c C-p再选中代码C-c C-c在线运行,到了Go的时候就是搞不明白,安装Go-mode插件之后没有找到运行的地方,到Go-mode的Github主页并没有发现Go-mode的文档,C-c C-C,C-c C-p试过了没有作用。所以想要请教一下论坛内的各位彦祖们,这个Go-mode应该怎么在线运行代码,或者说Go-mode并没有这个功能,需要依靠别的插件来实现,亦或是说都是M-x
compile然后go run file.go
这样子运行的嘛
最后贴上我的Go等插件的配置
(use-package go-eldoc)
(use-package company)
(use-package flycheck
:ensure t)
;; 解释器路径
(setq python-shell-interpreter "python")
(setenv "GOPATH" "D:\Go")
(add-to-list 'exec-path "D:\Go\bin")
看看这个
如果需要深度定制需要执行的命令,自己封装个函数,设置快捷键即可,这也是为什么用emacs的原因,有什么需求自己定制下就行
你需要理解其中的运行机制,这是文本编辑器和 IDE 不同的地方。比如你说的“在线运行”,实际上就是运行了go run file.go 这个命令;更新项目依赖其实就是 go mod tidy 这个命令。
那如何运行这些命令呢?如果不在 emacs 里,你可以打开终端,windows下是 cmd 或者 powershell 到项目文件夹下来运行这些命令。
在 emacs 里,你可以使用 emacs 里内置的一些终端。就我的 Linux 下的工作流而言,我一般是在emacs里呼出 vterm 或者 eshell 来运行上面那些命令。就如在 vscode 里, ctrl + ` 呼出内置终端,运行命令一样。
但你的环境是 windows,我就不太清楚 emacs 在 windows 下的终端配置了。
另外,如果是第一次从 Jetbrains 之类 IDE 到 文本编辑器,建议可以从 vscode 这种简单的开始。等想要折腾了,再上 nvim、emacs 也不迟。
只有我觉得 VS Code 的配置有点晦涩吗?
有可能是我接触 VS Code 时是编程学习的早期阶段, 总之感觉它的设置有点乱, 文档也不太好找.
当然, 除非只装插件, 其它啥也不管.
wsug
8
我是在我需要运行的go文件的注释里写了怎么一段:
(progn
(shell "shell-go-")(insert "d:")(comint-send-input)
(insert "go run d:/t/go/web.go")(comint-send-input) )
把光标移动这段的最后按C-x C-e(或其它)运行指定go文件的,这段会点elisp的应该都能看明白吧,就是打开一个shell buffer,输入命令,回车,又输入命令,又回车,这段应该是可以在精简下的,欢迎指正
Shynur
11
要不也试试把 "D:\Go\bin"
复制到 gO 语言文件里, 看看打印出来是什么?