I have also updated the installation instructions as tsserver is not longer available as single executable on npm. Also I've made sure that modes register for tide backend only if it is really intended to.
3.4 KiB
Tide Layer
Description
This layer installs tide package which allows communication with
standalone typescript server tsserver
for JavaScript/TypeScript development.
Features:
- First class support from
tsserver
just likevscode
: speed and accuracy - Linter
- Refactor
- Go to definition
- Find references
Install
See tide for details. First you must have `tsserver` installed in your project or globally:
npm install -g typescript
Next enable this layer in your ~/.spacemacs
. You will need to add tide
to the
existing dotspacemacs-configuration-layers
list in this file. Then set the
backend variables for JavaScript layer, React layer and TypeScript layer to tide
in dotspacemacs-configuration-layers
(javascript :variables
javascript-backend 'tide)
(typescript :variables
typescript-backend 'tide)
Both javascript-backend
and typescript-backend
can be set per project.
When using this layer, make sure tsconfig.json or jsconfig.json is present in the root folder of the project.
Example from emacs tide package: For JavaScript projects you may want to create
jsconfig.json
in the root folder of your project. jsconfig.json
is tsconfig.json
with allowjs attribute set to true.
{
"compilerOptions": {
"target": "es2017",
"allowSyntheticDefaultImports": true,
"noEmit": true,
"checkJs": true,
"jsx": "react",
"lib": [ "dom", "es2017" ]
}
}
Without this file tsserver
will pick up current folder as project root.
Key bindings
Major Mode
Key binding | Description |
---|---|
SPC m E d |
add tslint:disable-next-line at point |
SPC m E e |
fix thing at point |
SPC m g b |
jump back |
SPC m g g |
jump to entity's definition |
SPC m g t |
jump to entity's type definition |
SPC m g r |
references |
SPC m h h |
documentation at point |
SPC m r i |
organize imports |
SPC m r r |
rename symbol |
SPC m r f |
rename file |
SPC m S r |
restart server |
SPC m S j |
create a barebone jsconfig.json at project root |
Reference Major Mode
Key binding | Description |
---|---|
C-j |
find previous reference |
C-k |
find next reference |
C-l |
goto reference |