Giter Site home page Giter Site logo

ide-typescript's Introduction

Atom and all repositories under Atom will be archived on December 15, 2022. Learn more in our official announcement

IDE-TypeScript package

CI

TypeScript and JavaScript language support for Atom-IDE, powered by the Theia TypeScript Language Server.

Screen shot of IDE-TypeScript

Early access

This package is currently an early access release. You should also install the atom-ide-ui package to expose the functionality within Atom.

Features

  • Auto completion
  • Diagnostics (errors & warnings, with autofixes)
  • Document outline
  • Find references
  • Go to definition
  • Hover
  • Signature help
  • Format code

Contributing

Always feel free to help out! Whether it's filing bugs and feature requests or working on some of the open issues, Atom's contributing guide will help get you started while the guide for contributing to packages has some extra information.

License

MIT License. See the license for more details.

ide-typescript's People

Contributors

50wliu avatar aerijo avatar damieng avatar darangi avatar daviwil avatar hansonw avatar jasonrudolph avatar laughedelic avatar mattlyons0 avatar nicksnyder avatar remagpie avatar rwatts3 avatar ryanolsonx avatar scholtzm avatar serafeimgr avatar thateverdmitriy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ide-typescript's Issues

Typescript compilation

Hi, is there any doc explaining how the compilation works? In my project "tsc" return no error. ide-typescript finds hundreds of errors. It looks like it is using some outdated Typescript version. Can this be somehow configured?

I even got error on "import * as React from 'react';" - File '/Users/tomi/Github/packages/webpack2-typescript-2/node_modules/@types/react/index.d.ts' is not a module.

But overall the first look is impressive!

General performance and indication

Right now ide-typescript is a little slow and it provides no indication of when it is busy.

  1. We should improve perf where we can - such as adding streaming supression upstream
  2. We should add a status bar or busy indicator when it is doing things

Uncaught SyntaxError: Unexpected token < in JSON at position 1

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: ide-typescript package 0.6.1

Stack Trace

Uncaught SyntaxError: Unexpected token < in JSON at position 1

At file:///Applications/Atom%20Beta.app/Contents/Resources/app.asar/static/index.html:2

SyntaxError: Unexpected token < in JSON at position 1
    at JSON.parse (<anonymous>)
    at StreamMessageReader.onData (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:210:29)
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:176:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)

Commands

     -7:29.2.0 vim-mode-plus:activate-linewise-visual-mode (input.hidden-input)
  4x -7:29 vim-mode-plus:move-up (input.hidden-input)
     -7:28.2.0 vim-mode-plus:delete-right (input.hidden-input)
 44x -7:27.3.0 vim-mode-plus:move-up (input.hidden-input)
  8x -7:24 platformio-ide-terminal:toggle (input.hidden-input)
 19x -7:14.1.0 vim-mode-plus:move-down (input.hidden-input)
 35x -7:13.2.0 vim-mode-plus:move-up (input.hidden-input)
  2x -7:11.2.0 platformio-ide-terminal:toggle (input.hidden-input)
  5x -6:42.9.0 vim-mode-plus:move-up (input.hidden-input)
 22x -6:42.5.0 vim-mode-plus:move-down (input.hidden-input)
  6x -6:41.2.0 vim-mode-plus:move-up (input.hidden-input)
 30x -6:40.6.0 vim-mode-plus:move-down (input.hidden-input)
 65x -6:19.7.0 vim-mode-plus:move-up (input.hidden-input)
     -6:16.2.0 pane:show-item-1 (input.hidden-input)
     -6:15.7.0 pane:show-item-2 (input.hidden-input)
     -6:13.4.0 core:cancel (div.package-detail.panels-item)

Non-Core Packages

atom-beautify 0.30.5 
atom-ide-ui 0.3.1 
atomatigit 1.5.5 
autocomplete-modules 1.7.0 
autocomplete-paths 2.11.0 
blame 0.12.0 
busy-signal 1.4.3 
disable-keybindings 0.6.0 
file-icons 2.1.11 
git-control 0.9.0 
git-log 0.4.1 
git-plus 7.9.3 
ide-typescript 0.6.1 
intentions 1.1.5 
language-diff 0.7.0 
linter 2.2.0 
linter-ui-default 1.6.8 
open-recent 5.0.0 
pigments 0.40.2 
platformio-ide-terminal 2.6.0 
project-manager 3.3.5 
show-ideographic-space 1.0.2 
sync-settings 0.8.3 
vim-mode-plus 1.4.0 

Uncaught RangeError: Array buffer allocation failed

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Unknown Windows version
Thrown From: ide-typescript package 0.6.1

Stack Trace

Uncaught RangeError: Array buffer allocation failed

At buffer.js:43

RangeError: Array buffer allocation failed
    at new ArrayBuffer (<anonymous>)
    at createUnsafeArrayBuffer (buffer.js:43:12)
    at createUnsafeBuffer (buffer.js:37:25)
    at allocate (buffer.js:189:12)
    at Function.Buffer.allocUnsafe (buffer.js:152:10)
    at Function.Buffer.concat (buffer.js:321:23)
    at MessageBuffer.append (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:48:38)
    at StreamMessageReader.onData (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:182:21)
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:176:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)

Commands

     -0:09.9.0 intentions:highlight (input.hidden-input)
     -0:09.7.0 window:toggle-dev-tools (input.hidden-input)

Non-Core Packages

activate-power-mode 2.4.0 
atom-beautify 0.30.5 
atom-file-icons 0.6.0 
atom-ide-ui 0.3.1 
atom-live-server 2.1.2 
atom-ternjs 0.18.3 
atom-wrap-in-tag 0.6.0 
autocomplete-flow 1.6.0 
busy-signal 1.4.3 
change-case 0.6.5 
click-link 1.0.11 
clipboard-history 0.6.6 
color-picker 2.2.5 
double-tag 0.9.0 
editorconfig 2.2.2 
emmet 2.4.3 
expand-selection-to-quotes 0.11.0 
gruvbox-plus-syntax 1.3.1 
html-to-css 0.2.2 
hyperclick 0.0.0 
ide-flowtype 0.17.4 
ide-typescript 0.6.1 
imdone-atom 2.2.6 
intentions 1.1.5 
js-hyperclick 1.11.0 
language-babel 2.74.2 
language-docker 1.1.8 
language-log 1.8.0 
language-nginx 0.8.0 
language-vue 0.23.1 
linter 2.2.0 
linter-eslint 8.2.1 
linter-ui-default 1.6.8 
minimap 4.29.6 
minimap-bookmarks 0.4.2 
minimap-cursorline 0.2.0 
pigments 0.40.2 
platformio-ide-terminal 2.6.0 
project-plus 1.0.0 
Sublime-Style-Column-Selection 1.7.4 
svg-preview 0.11.0 
sync-settings 0.8.3 
toggle-quotes 1.0.1 
tool-bar 1.1.0 
tool-bar-atom 1.7.0 
vue-hyperclick 0.2.0 
zentabs 0.8.8 

support for decorators

Wher I can set this option?
image
Experimental support for decorators is a feature that is subject to change in a future release. Set the ‘experimentalDecorators’ option to remove this warning.

Grammar scopes with JSX/TSX

since getGrammarScopes applies on source.ts', 'source.js', 'source.js.jsx' in case javascript support is enabled, shouldn't the package be active '.tsx' files as well?
Also, any particular reason why jsx files are identified by the source.js.jsx template and not source.jsx?
(Sorry if this was brought up before, didn't see any PR/issue related to this)

Unable to find files outside of my atom project.

(Not sure if this issue belongs here or if I should send it on a different package)

This plugin works way faster than atom-typescript o_o, However I have a small problem

Say that I have a file that imports anything from a library like Angular2Material, for example:

import {MdDialogRef} from '@angular/material';

The ide plugin tells me that ts: Cannot find module '@angular/material'.
Is there a way to fix this?

My tsconfig.json which is located at the root of my atom project looks roughly like this (and is generated by a bazel plugin):

{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "rootDirs": [
      "./",
      "../../../app/"
    ],
    "baseUrl": ".",
    "paths": {
      "app/*": [
        "./*",
        "../../../app/*"
      ],
      "@angular2-material/dialog": [
        "../../../angular2_material/src/lib/dialog"
      ],
      "@angular2-material/dialog/*": [
        "../../../angular2_material/src/lib/dialog/*"
      ],
      "@angular-material": [
        "../../../angular2_material/src/lib"
      ],
      "@angular-materia/*l": [
        "../../../angular2_material/src/lib/*"
      ]
    },
    "noEmitOnError": false,
    "declaration": false,
    "stripInternal": true,
    "inlineSourceMap": true,
    "inlineSources": true,
    "plugins": [
      {
        "name": "ide_performance"
      }
    ],
    "noEmit": true
  },
  "files": [
    "../../../angular2_material/src/lib/dialog/dialog-ref.d.ts",
    "../../../angular2_material/src/lib/dialog/dialog-ref.ngfactory.d.ts",
    "../../../angular2_material/src/lib/dialog/dialog-ref.ngsummary.d.ts",
    "./whatever.ts",
    "../../../app/whatever.ts"
  ],
  "compileOnSave": false
}

Rename refactoring feature request

First of all thanks for this plugin.
I am playing with it at home and it works fine.

One things that i missing after toggle from atom-typescript it is rename refactoring feature

Do you plan to add this functionality in near feature?

please support the webpack alias when finding reference

First, thanks for all your works! These ide-* packages are awesome!

We use the feature so-called "path alias" supported by webpack.

// we use `@` instead `../../src`
import something from '@/a/b/c';

I found this syntax can not click to find reference.

Is there any way to solve it ?

Failed to activate the ide-typescript package

[Enter steps to reproduce:]

  1. Reloaded atom with new ide package installed

Atom: 1.20.1 x64
Electron: 1.6.9
OS: Microsoft Windows 10 Home
Thrown From: ide-typescript package 0.6.1

Stack Trace

Failed to activate the ide-typescript package

At Cannot find module 'atom-languageclient'

Error: Cannot find module 'atom-languageclient'
    at Module._resolveFilename (module.js:470:15)
    at Module._resolveFilename (~/AppData/Local/atom/app-1.20.1/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.get_Module._resolveFilename (~/AppData/Local/atom/app-1.20.1/resources/app/src/module-cache.js:354:58)
    at Module.require (~/AppData/Local/atom/app-1.20.1/resources/app/static/index.js:40:43)
    at require (~/AppData/Local/atom/app-1.20.1/resources/app/src/native-compile-cache.js:66:33)
    at /packages/ide-typescript/lib/main.js:2:30)
    at /packages/ide-typescript/lib/main.js:112:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.20.1/resources/app/src/native-compile-cache.js:106:36)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.20.1/resources/app/src/compile-cache.js:239:29)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (~/AppData/Local/atom/app-1.20.1/resources/app/static/index.js:47:45)
    at require (internal/module.js:20:19)
    at customRequire (~/AppData/Local/atom/app-1.20.1/resources/app/static/<embedded>:96:26)
    at Package.module.exports.Package.requireMainModule (~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:887:35)
    at Package.module.exports.Package.activateNow (~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:242:22)
    at ~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:225:38
    at Package.module.exports.Package.measure (~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:99:21)
    at ~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:218:32
    at Package.module.exports.Package.activate (~/AppData/Local/atom/app-1.20.1/resources/app/src/package.js:215:40)
    at PackageManager.module.exports.PackageManager.activatePackage (~/AppData/Local/atom/app-1.20.1/resources/app/src/package-manager.js:645:40)
    at ~/AppData/Local/atom/app-1.20.1/resources/app/src/package-manager.js:626:35
    at Config.module.exports.Config.transactAsync (~/AppData/Local/atom/app-1.20.1/resources/app/src/config.js:367:24)
    at PackageManager.module.exports.PackageManager.activatePackages (~/AppData/Local/atom/app-1.20.1/resources/app/src/package-manager.js:621:25)
    at PackageManager.module.exports.PackageManager.activate (~/AppData/Local/atom/app-1.20.1/resources/app/src/package-manager.js:603:52)
    at ~/AppData/Local/atom/app-1.20.1/resources/app/src/atom-environment.js:843:36

Commands

     -0:48.4.0 platformio-ide-terminal:toggle (atom-pane.pane)

Non-Core Packages

atom-clock 0.1.15 
atom-html-preview 0.2.2 
atom-ide-ui 0.4.0 
atom-neon-ui 0.37.1 
atomic-monokai-syntax 1.2.1 
base16-syntax 1.8.1 
color-picker 2.2.5 
dash-syntax 0.4.0 
dash-ui 0.4.3 
emmet 2.4.3 
file-icons 2.1.12 
git-plus 7.9.3 
git-plus-toolbar 1.0.1 
git-status 0.3.4 
gzl-ui 1.0.0 
hacker-dream-syntax 1.4.8 
hacker-dream-ui 1.1.0 
ide-typescript 0.6.1 
ir-black-k-syntax 0.2.3 
keyboard-scroll 0.7.0 
markdown-writer 2.7.2 
minimap 4.29.7 
minimap-pigments 0.2.2 
nucleus-dark-ui 0.12.3 
pigments 0.40.2 
platformio-ide-terminal 2.7.0 
pristine-ui 1.1.10 
proton-light 0.2.0 
pure-syntax 0.3.0 
seti-icons 1.5.4 
seti-syntax 1.1.3 
seti-ui 1.9.0 
sync-settings 0.8.3 
tool-bar 1.1.0 
tool-bar-markdown-writer 0.3.0 

Outline view behaves inconsistently

This is a pretty broad issue but that's because the behaviour is broadly inconsistent, I can't find any particular pattern that causes this. I'll be digging deeper and adding detail to the issue or comments as I go.

OS: OpenSUSE Tumbleweed
Atom: 1.21.0-beta0
ide-typescript: 0.6.1

Sometimes I get outlines.
Sometimes I get No outline available\n There are no outline providers registered.
Sometimes the provider just sits in a pending state, showing the spinner.
Sometimes if I re-open a file that got stuck pending, it will suddenly change to show the outlines.
Sometimes if I re-open a file that had outlines visible, it gets stuck pending.

Support for argument intelligence?

Greetings,

Will there be support or is there a roadmap for showing suggestions of arguments within a function?

var foo = function(hello);

foo() // would prompt the user for "hello : any" when the user begins typing foo.(

Not recognizing .eslintrc

I have put a .eslintrc file in project root, but ide-typescript seems not using rules in that file to check my javascript.

Linting Types is Overstepping

I'm using this server to get just the JavaScript features and have the flow server installed as well. I'm getting errors about defining flow types in my JS files. There should be some better detection of typescript before it applies the linting rule.

Can't find types in npm @types

ide-typescript doesn't seem to be finding types from definitelytyped.org. For example, I install the Chrome types:

package.json:

  "devDependencies": {
    "@types/chrome": "^0.0.48",
    "ts-loader": "^2.3.7",
    "typescript": "^2.5.2",

And the file compiles without error. However, ide-typescript doesn't like it:

screen shot 2017-09-15 at 5 52 52 pm

Any idea how I can make ide-typescript happy? Thanks!

Atom 1.21.0-beta0, ide-typescript 0.6.1

How could i use "es_module" import to get intellisense in normal "js" file?

Installed DefinitelyTyped @types package already, i tried to set jsconfig.json

{
  "compilerOptions": {
    "module": "es6",
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
  }
}

or set tsconfig.json

{
  "compilerOptions": {
    "module": "es6",
    "moduleResolution": "node",
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
  }
}

But only commonjs style require function can get intellisense in "js" file like const foo = require('foo');.

That ts file is works fine with autocomplete and es_module system, but js file did not.

It's looks like language server initialize issue?
javascript-typescript-langserver/project-manager.ts#L126

That can be fix but so dirty in javascript-typescript-langserver/project-manager.ts......

...
                compilerOptions: {
                    module: ts.ModuleKind.ES2015,
                    moduleResolution: 'node',
                    allowSyntheticDefaultImports: true,
                    allowNonTsExtensions: false,
                    allowJs: configType === 'js',
                },
...

but it's too dirty.....

Please Please helps and Thanks so much!!!

Doesn't seem to support tsconfig inheritance

It seems that ide-typescript ignores the extends clause in tsconfig.json as if there were no tsconfig at all - i.e., I have my compilerOptions.lib set in the parent tsconfig.json and the child tsconfig.json extends from it, but Atom starts warning me about the missing lib option and so on.
Obviously, just building the project with tsc works.

Angular imports being caught as issues.

Working with the most up to date Atom-ide-ui, and ide-typescript packages, I am getting import errors in the diagnostics panel.

The first is that ReplaySubject isn't a module.
Replay Subject Error in Diag.
It imports correctly, and there are no errors for ReplaySubject other than on the import line in the file.
Import Line for Replay Subject

Second is that any time I use .map from rxjs, I get an error in the diagnostics only that .map doesn't exist on type Observable<type>
Diag Line for .Map
despite it importing without error on the import line.
rxjs imports

Package shows up in Atom but not clear if running

Hi, I'm on Windows 10 and running Atom 1.18.0 x64.

I cloned the repository into ~/.atom/dev/packages and ran npm install inside. I then started atom with atom.exe -d. The package shows up in the UI but it's not at all clear to me that it's running. I tried hovering over functions like substring or console.log in both JavaScript and TypeScript files. I tried hitting Ctrl+Space but nothing seems to happen although maybe that's related to #1.

How can I verify that the package has installed properly and is running?

Uncaught Error: Connection is closed.

[Enter steps to reproduce:]

  1. Open .js file and edit.
  2. Go grab a cup of coffee.

Atom: 1.22.0-beta0 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: ide-typescript package 0.6.2

Stack Trace

Uncaught Error: Connection is closed.

At /Users/sangdth/.atom/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:606

Error: Connection is closed.
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:131:28)
    at throwIfClosedOrDisposed (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:606:19)
    at Object.sendNotification (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:660:13)
    at LanguageClientConnection._sendNotification (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/languageclient.js:244:15)
    at LanguageClientConnection.didChangeWatchedFiles (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/languageclient.js:145:10)
    at ServerManager.projectFilesChanged (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/server-manager.js:262:33)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at /Applications/Atom Beta.app/Contents/Resources/app/src/project.js:341:40
    at PathWatcher.onNativeEvents (/Applications/Atom Beta.app/Contents/Resources/app/src/path-watcher.js:671:15)
    at /Applications/Atom Beta.app/Contents/Resources/app/src/path-watcher.js:567:31
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at NativeWatcher.onEvents (/Applications/Atom Beta.app/Contents/Resources/app/src/path-watcher.js:448:26)
    at handler (/Applications/Atom Beta.app/Contents/Resources/app/src/path-watcher.js:177:15)

Commands

     -5:41.5.0 core:close (input.hidden-input)
     -2:51.9.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -0:22.2.0 window:toggle-dev-tools (a.stack-toggle)
     -0:01.4.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)

Non-Core Packages

atom-beautify 0.30.5 
atom-clock 0.1.15 
atom-html-templates 0.1.3 
atom-ide-ui 0.5.0 
atom-jade 0.3.0 
atom-material-syntax 1.0.7 
atom-material-syntax-dark 1.0.0 
atom-material-ui 2.0.5 
autoclose-html 0.23.0 
busy-signal 1.4.3 
editorconfig 2.2.2 
emmet 2.4.3 
etheratom 3.1.0 
file-icons 2.1.13 
git-plus 7.10.0 
ide-typescript 0.6.2 
ide-vue 0.1.7 
intentions 1.1.5 
language-babel 2.75.1 
language-ethereum 0.3.9 
language-nunjucks 4.1.0 
language-vue 0.23.1 
linter 2.2.0 
linter-ui-default 1.6.10 
minimap 4.29.7 
neutron-dark-ui 2.1.4 
nuclide 0.259.0 
prettier-atom 0.40.0 
pure-syntax 0.3.0 
sync-settings 0.8.3 
unity-shader-files 0.3.1 

Most features do not work in JS files with non-standard extensions

Disclaimer: I have read and understood that this package consumes data from a language server and that this issue is probably related to that package. However, I have decided to open this issue here in order to provide feedback about this potentially broken functionality and also with hopes that someone more informed about the inner workings of the whole mechanism behind the IDE-like functionality will be able to pin-point where exactly the problem is. 😇

In my project, I use a different file extension (.es) than the standard .js for JavaScript files (these files are compiled with Babel into the same folder to .js files).

In these .es files, none of the IDE functionality seems to work except for the diagnostics:

  • function hinting (no autocomplete suggestions appear)
  • type/function info on hover (nothing shows up)
  • outline view (view is always empty)
  • hyperclick (nothing happens when cmd+clicking a symbol)

When opening the compiled .js file, all of these features work as expected, therefore I have come to conclusion that the cause must be related to the non-stnandard file extension.

I have also checked that the scope of the file is either source.js or source.js.jsx.

I should note that I am experiencing the same problem with the .mjs file extension which the Node.js community has decided to use for JavaScript ES Module files. Now that Node.js 8.5 includes experimental ES modules loader we can expect more and more people experiencing this problem.

Thank you for looking in this issue! Let me know if I can provide further information for troubleshooting/testing or help in other ways.

[Feature] Disable linter / error checking

I'm currently using atom-ide in conjunction with atom-typescript, I would prefer to use the linter included in atom-typescript as it generally seems to be more responsive however I cannot disable the linter in this plugin resulting in my linter UI (Diagnostics pane of atom-ide) warnings being shown twice, once from each plugin.

A simple checkbox on the settings page for this plugin to disable this feature would resolve this.

Here you can see the duplicated output, Typescript is from atom-typescript and ts is from this plugin:
image

This is the behaviour I desire (no linter warnings from ts aka ide-typescript):
image

Cannot find imported modules (Angular)

Opening up a new Angular application, created with the Angular CLI causes many Diagnostic messages saying it can't find any of the modules - @angular/core, @angular/platform-browser, etc.

screen shot 2017-09-25 at 8 02 07 am

screen shot 2017-09-25 at 8 02 17 am

Disabling provider doesn't remove reported diagnostics

If a file has diagnostics reported for it from this provider, and this provider is then disabled the diagnostics are not removed. If the provider is then re-enabled a new set of diagnostics is reported, doubling the first set.

2017-09-13_14-28-28

Atom: 1.21.0-beta0
atom-ide-ui: 0.3.1

Cannot update ide-typescript

I keep getting the same issue when I try to update ide-typescript to version 0.6.1.
EBUSY: resource busy or locked, rmdir 'C:\Users\Cruckshank\.atom\packages\ide-typescript'
I'm using Atom version 1.12.0-beta0
2017-09-15

Uncaught Error: Connection is closed.

I'm not sure what I did to trigger this. I was editing a JavaScript file, then left Atom open while doing other stuff on my computer, then tried to type in the JavaScript file.

/cc @damieng

Atom: 1.22.0-dev-38d9c07 x64
Electron: 1.6.9
OS: Mac OS X 10.11.6
Thrown From: ide-typescript package 0.1.6

Stack Trace

Uncaught Error: Connection is closed.

At /Users/max/.atom/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:604

Error: Connection is closed.
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:129:28)
    at throwIfClosedOrDisposed (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:604:19)
    at Object.sendNotification (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/main.js:658:13)
    at LanguageClientConnection._sendNotification (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/languageclient.js:233:15)
    at LanguageClientConnection.didChangeTextDocument (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/languageclient.js:126:10)
    at TextEditorSyncAdapter.sendFullChanges (/packages/ide-typescript/node_modules/atom-languageclient/build/lib/adapters/document-sync-adapter.js:196:22)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:626:38
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at DisplayLayer.emitDidChangeSyncEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:823:24)
    at /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:757:35
    at Map.forEach (native)
    at TextBuffer.module.exports.TextBuffer.emitDidChangeEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:756:47)
    at TextBuffer.module.exports.TextBuffer.applyChange (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:739:18)
    at TextBuffer.module.exports.TextBuffer.revertToCheckpoint (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:946:22)
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:897:20)
    at TextEditor.module.exports.TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1673:32)
    at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1234:30
    at TextEditor.module.exports.TextEditor.mergeSelections (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2617:49)
    at TextEditor.module.exports.TextEditor.mergeIntersectingSelections (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2583:41)
    at TextEditor.module.exports.TextEditor.mutateSelectedText (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1232:25)
    at TextEditor.module.exports.TextEditor.insertText (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1198:25)
    at TextEditor.object.(anonymous function) [as insertText] (/Applications/Atom.app/Contents/Resources/app/node_modules/underscore-plus/lib/underscore-plus.js:77:33)
    at TextEditorComponent.didTextInput (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1626:28)

Commands

     -0:10 editor:move-to-first-character-of-line (input.hidden-input)
     -0:09.8.0 editor:cut-to-end-of-line (input.hidden-input)
  2x -0:02.6.0 core:move-up (input.hidden-input)
  3x -0:02.1.0 core:move-right (input.hidden-input)

Non-Core Packages

atom-ide-ui 0.2.0 
autocomplete-clang 0.11.3 
git-pear 1.2.1 
ide-flowtype 0.14.0 
ide-typescript 0.1.6 
journal 0.1.1 
language-typescript-grammars-only 1.6.0 
linter 2.2.0 
linter-clang 4.1.2 
minimap 4.29.6 
racer 0.20.0 
real-time 0.1.0 
sort-lines 0.15.0 
toggle-quotes 1.0.1 

Error: "'types' can only be used in a .ts file"

I'm using the Typescript service to provide code hover and autosuggest for a project that's using JS. I'm using Flow type annotations loosely for documentation purposes, and it really helps improve the quality of the documentation shown on hover; even though Flow and TS are different, I'm really only using the features of Flow that are the same in TS.

However, the Typescript server is giving me a warning when I do this:

image

What would be the best way to disable this warning? I'm willing to complete/submit a PR to either this repo or the languageserver if need be. Even an option to simply disable diagnostics for just this package would help.

Outline View Ordering?

I logically order my code so related items are together but the Outline View sorts them alphabetically (at least it does for me in javascript). Alphabetical is great for locating something by name when you have no idea how the code is structured but the search feature does that anyway and I usually want to locate things by their purpose and thus what they are placed next to. I'd find the Outline View much more useful if everything was ordered exactly how they were defined in the code.

Theme on picture

Hello,

On readme, you paste the image of code.
Can you show name a theme?

Thanks

ESLint is TypeScript biased--not recognizing respecting config file for ReactJS

The description is misleading by suggesting "JavaScript and TypeScript". ESLint doesn't accurately recognize that the code is using jsx and not ts. I'm getting error specific to TypeScript that do not pertain to ReactJS. It would be better if the description specified only TypeScript or Diagnostics recognized jsx language and only called errors for React styles.

Document formatting

One of the things that I had used before the ide package was an eslint package that would fix many basic problems on file save (whitespace, some other things, can't remember now what else). This was incompatible with the ide-typescript package (was it eslint?), but i'd be curious if similar functionality was coming to the core ide-typescript package, or there are other packages that make good compliments to this package.

I'll hang up and listen ;)

Uncaught Error: Message header must separate key and value using :

[Enter steps to reproduce:]

  1. try to open a java project that has submodules on a fresh install of the 1.21.0-beta0 x64 version of atom

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Microsoft Windows 10 Pro
Thrown From: ide-typescript package 0.6.1

Stack Trace

Uncaught Error: Message header must separate key and value using :

At C:\Users\Gabriel\.atom\packages\ide-typescript\node_modules\vscode-jsonrpc\lib\messageReader.js:68

Error: Message header must separate key and value using :
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:68:23
    at Array.forEach (native)
    at MessageBuffer.tryReadHeaders (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:65:17)
    at StreamMessageReader.onData (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:185:43)
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:176:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)

Commands

     -5:47.7.0 fuzzy-finder:toggle-file-finder (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -5:42.1.0 core:confirm (input.hidden-input)
     -5:38.6.0 core:close (input.hidden-input)
     -5:35.7.0 fuzzy-finder:toggle-file-finder (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -5:25.5.0 core:confirm (input.hidden-input)
     -4:37.2.0 tree-view:toggle (input.hidden-input)
  2x -4:16.7.0 editor:select-to-beginning-of-word (input.hidden-input)
     -4:14.4.0 editor:toggle-line-comments (input.hidden-input)
  2x -4:13.6.0 core:undo (input.hidden-input)
 10x -3:58 core:cancel (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -3:43.3.0 command-palette:toggle (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -3:40.4.0 editor:consolidate-selections (input.hidden-input)
     -3:40.4.0 core:cancel (input.hidden-input)
  4x -3:26.9.0 tree-view:toggle (atom-pane.pane.active)

Non-Core Packages

atom-ide-ui 0.3.3 
ide-csharp 0.6.0 
ide-flowtype 0.17.4 
ide-java 0.6.0 
ide-typescript 0.6.1 

Uncaught Error: Header must provide a Content-Length property.

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: ide-typescript package 0.6.1

Stack Trace

Uncaught Error: Header must provide a Content-Length property.

At /Users/akaranam/.atom/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:191

Error: Header must provide a Content-Length property.
    at StreamMessageReader.onData (/packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:191:27)
    at /packages/ide-typescript/node_modules/vscode-jsonrpc/lib/messageReader.js:176:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)

Commands

     -2:42.2.0 core:backspace (input.hidden-input)
     -2:31.4.0 core:confirm (input.hidden-input)
     -1:50.9.0 tree-view:show (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
 65x -0:49.4.0 tree-view:reveal-active-file (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)

Non-Core Packages

angular-2-typeScript-snippets 0.7.0 
angular2-snippets 0.4.0 
atom-beautify 0.30.5 
atom-clock 0.1.15 
atom-ide-ui 0.3.1 
atom-material-syntax 1.0.6 
atom-material-ui 2.0.4 
atom-maven 1.3.0 
atom-spotify2 2.1.2 
atom-typescript 11.0.8 
atom-yeoman 0.3.15 
auto-update-packages 1.0.1 
autocomplete-java 1.2.7 
autocomplete-json 5.5.0 
autocomplete-module-import 0.1.2 
autocomplete-modules 1.7.0 
busy-signal 1.4.3 
docblockr 0.11.0 
editorconfig 2.2.2 
extjs-snippets 0.2.0 
file-icons 2.1.11 
git-projects 1.17.0 
go-plus 5.5.5 
haskell-grammar 0.4.0 
highlight-selected 0.13.1 
ide-flowtype 0.17.0 
ide-java 0.6.0 
ide-typescript 0.6.1 
intentions 1.1.5 
language-babel 2.74.1 
language-graphql 0.9.0 
language-ini 1.19.0 
language-lua 0.9.11 
language-ocaml 1.9.5 
language-pgsql 0.2.3 
language-rust 0.4.12 
language-swift 0.5.0 
language-thrift 1.0.2 
linter 2.2.0 
linter-eslint 8.2.1 
linter-flow 5.6.1 
linter-golinter 1.2.2 
linter-javac 1.9.4 
linter-jshint 3.1.5 
linter-rubocop 2.1.1 
linter-ruby 1.2.6 
linter-sass-lint 1.7.6 
linter-tslint 1.7.0 
linter-ui-default 1.6.8 
MagicPython 1.0.12 
merge-conflicts 1.4.5 
nuclide 0.252.0 
nuclide-format-js 0.0.41 
open-recent 5.0.0 
pigments 0.40.2 
prettier-atom 0.38.0 
react 0.16.2 
react-snippets 0.9.0 
rubocop-auto-correct 1.5.1 
set-syntax 0.3.2 
sort-lines 0.15.0 
synced-sidebar 0.4.3 
term3 0.22.1 
tool-bar 1.1.0 

Code folding and cleanliness

Would it be possible to be able to fold the lambdas and such like you can fold stuff in the text editor?
It would also be cool to have an option to synchronize it maybe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.