I like to use Python & Go in my work. So I set up the programming environments for this two languages with LSP - the protocol from Microsoft. If you use other languages, such as JavaScript, C++, and so on, you can easily set up for them with LSP - sometimes you just install the language servers, Emacs config code does NOT need to change.
I use Courier & SimKai, 'cause they are the only fonts not make Windows version slow, change the lisp/init-ui.el to your preferences, if you do NOT use CJK fonts.
Launch a terminal, such as:
TerminalApp oriTerm2on macOSGNOME TerminalorKonsoleon GNU/LinuxCMDorPowerShellorWindows Terminalon Windows 10
Run the code below, and then launch your Emacs, enjoy it.
git clone https://github.com/mathslimin/.emacs.d --depth=1 ~/.emacs.dsudo apt install nodejs npm
sudo npm install -g bash-language-serverinstall java-lsp-server, Below configuration is based on https://github.com/emacs-lsp/lsp-java#quick-start
mkdir -p ~/.emacs.d/server/java/jdt-language-server
cd ~/.emacs.d/server/java
wget https://download.eclipse.org/jdtls/milestones/1.5.0/jdt-language-server-1.5.0-202110191539.tar.gz
tar zxvf jdt-language-server-1.5.0-202110191539.tar.gz -C jdt-language-server
ls ~/.emacs.d/server/java/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jarNote: If you use Windows 10, you should set an environment variable named
HOME, and set its value to your user directory, likeC:/Users/<your_name>. Otherwise emacs will use%Appdata%as home directory by default.
emacs -Q -l early-init.el
This project is tested on
- macOS, 11.1, GUI mode
- Windows 10 (Native GUI & msys2)
- Ubuntu 20.04.1
it should run on other platforms, please note that.
Enable projectile-mode, open a file in one of your projects and type a command such as C-c p f
mv /Users/limin/software/emacs/ctags /Users/limin/software/emacs/ctags_backup
brew install ctagshttps://phenix3443.github.io/notebook/emacs/modes/projectile-mode.html
Any issue will be welcomed, just send me an issue if you find something not friendly to you.