Code Monkey home page Code Monkey logo

java-importer's Introduction

java-importer package Build Status Number of downloads

Project Page: https://atom.io/packages/java-importer

How to use:

Import class

  1. install the package using package manager.
  2. select the class you want to import.
  3. right click and select "Get import statement"
  4. Select appropriate path when there are multiple candidates.
  5. Look at the notifications, success: paste the statement to wherever it is appropriate, failed, you should import it manually.

Organize import statements

  1. Select all import statements, select "Organize imports" in Edit menu.
  2. Paste the sorted statements and remove the original one.

Update dictionary manually

  1. Press Cmd+Shift+P to open command panel.
  2. Type java-importer:update to trigger manual update.

Attention:

  1. Only supports: JAVA 8 classes, and classes in your project, and classes to have used in your project.

Roadmap:

  • Run scan function every hour to catch the latest changes.

  • Add extra line break when sorting statements.

  • Add function: detect unused statements

  • Warn if you have already imported the class.

  • Detect libs in local environment and import automatically.

  • Detect import statements you once used.

  • Solve the window freeze problem.

  • Add more test cases.

java-importer's People

Contributors

codemysky avatar noseglid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

java-importer's Issues

Uncaught TypeError: Cannot read property 'getLastSelection' of undefined

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.55.0 x64
Electron: 6.1.12
OS: Microsoft Windows 10 Pro
Thrown From: java-importer package 1.4.1

Stack Trace

Uncaught TypeError: Cannot read property 'getLastSelection' of undefined

At C:\Users\nehas\.atom\packages\java-importer\lib\java-importer-view.coffee:43

TypeError: Cannot read property 'getLastSelection' of undefined
    at JavaImporterView.module.exports.JavaImporterView.getSelection (/packages/java-importer/lib/java-importer-view.coffee:43:24)
    at Object.organize (/packages/java-importer/lib/java-importer.coffee:74:28)
    at /packages/java-importer/lib/java-importer.coffee:19:71)
    at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:350382)
    at Object.didConfirmSelection (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:684525)
    at SelectListView.confirmSelection (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:856521)
    at SelectListView.didClickItem (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:854463)
    at ListItemView.onclick (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:853453)
    at ListItemView.didClick (~/AppData/Local/atom/app-1.55.0/resources/app/static/<embedded>:11:857541)

Commands

     -2:33.1.0 open-on-github:issues (div.panels-item)
     -0:24.2.0 command-palette:toggle (a.)
     -0:22.5.0 core:paste (input.hidden-input)
     -0:18.4.0 java-importer:organize (a.)

Non-Core Packages

atom-material-syntax 1.0.8 
atom-material-syntax-dark 1.0.0 
atom-material-ui 2.1.3 
ide-java 0.9.1 
java-importer 1.4.1 
teletype 0.13.4 

Feature: Improve scan feature

  1. Avoid scan when there is no project.
  2. Start scan when the paths changed
  3. Scan on a regular bases to detect new class.

Uncaught TypeError: undefined is not a function

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.2
System: Ubuntu 12.04.5
Thrown From: java-importer package, v1.3.2

Stack Trace

Uncaught TypeError: undefined is not a function

At /home/quincy/.atom/packages/java-importer/lib/java-importer.coffee:53

TypeError: undefined is not a function
  at PathSearcher.<anonymous> (/home/quincy/.atom/packages/java-importer/lib/java-importer.coffee:53:41)
  at emitOne (events.js:77:13)
  at PathSearcher.emit (events.js:166:7)
  at ChunkedLineReader.<anonymous> (/home/quincy/.atom/packages/java-importer/node_modules/scandal/lib/path-searcher.js:86:17)
  at emitNone (events.js:67:13)
  at ChunkedLineReader.emit (events.js:163:7)
  at _stream_readable.js:891:16
  at process._tickCallback (node.js:357:13)

Commands

     -9:52.8.0 core:save (atom-text-editor.editor.is-focused)
  2x -9:44.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -9:43 core:save (atom-text-editor.editor.is-focused)
     -9:00.3.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -9:00.3.0 snippets:expand (atom-text-editor.editor.is-focused)
     -9:00.3.0 editor:indent (atom-text-editor.editor.is-focused)
  9x -8:52.6.0 core:backspace (atom-text-editor.editor.is-focused.autocomplete-active)
  2x -7:18.1.0 core:save (atom-text-editor.editor.is-focused)
  2x -6:58.2.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -2:40.2.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)

Config

{
  "core": {}
}

Installed Packages

# User
Remote-FTP, v0.7.1
java-importer, v1.3.2
language-ejs, v0.2.0
language-gradle, v0.0.3
project-manager, v1.15.11
remote-edit, v1.8.13
set-syntax, v0.3.0
tabs-to-spaces, v0.11.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'filePath' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Mac OS X 10.12.3
Thrown From: java-importer package, v1.4.1

Stack Trace

Uncaught TypeError: Cannot read property 'filePath' of null

At /Users/bob/.atom/packages/java-importer/lib/java-importer-model.coffee:47

TypeError: Cannot read property 'filePath' of null
    at /Users/bob/.atom/packages/java-importer/lib/java-importer-model.coffee:47:24
    at didError (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:972:22)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/task.js:126:25
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
    at ChildProcess.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/task.js:78:34)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at process.nextTick (internal/child_process.js:744:12)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Commands

     -5:31.5.0 core:close (atom-pane.pane.active)
     -5:22.8.0 atom-beautify:beautify-editor (ul.list-inline.tab-bar.inset-panel)
     -5:11.8.0 core:undo (atom-text-editor.editor.is-focused)
     -5:09.3.0 core:select-all (atom-text-editor.editor.is-focused)
     -5:07.7.0 core:copy (atom-text-editor.editor.is-focused)
     -2:55.1.0 core:move-right (atom-text-editor.editor.is-focused)
     -2:54.4.0 core:move-left (atom-text-editor.editor.is-focused)
     -2:50.2.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -2:50 core:move-left (atom-text-editor.editor.is-focused)
     -2:49.2.0 core:select-all (atom-text-editor.editor.is-focused)
     -2:48.5.0 core:copy (atom-text-editor.editor.is-focused)
     -2:48.2.0 core:save (atom-text-editor.editor.is-focused)
     -1:09.8.0 core:paste (atom-text-editor.editor.is-focused)
  5x -1:09.0 core:select-left (atom-text-editor.editor.is-focused)
     -1:08.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:07.1.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "telemetryConsent": "limited",
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ]
  }
}

Installed Packages

# User
atom-beautify, v0.29.14 (active)
auto-detect-indentation, v1.3.0 (active)
autoclose-html, v0.23.0 (active)
autocomplete-java, v1.2.5 (active)
highlight-selected, v0.11.2 (active)
java-importer, v1.4.1 (active)
linter, v1.11.18 (active)
linter-javac, v1.9.4 (active)
open-recent, v5.0.0 (active)
todo-show, v1.8.0 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (active)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (inactive)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (active)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Failed to load the java-importer package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.11
System: Microsoft Windows 10 Pro
Thrown From: java-importer package, v1.4.0

Stack Trace

Failed to load the java-importer package

At Cannot find module 'atom-space-pen-views'

Error: Cannot find module 'atom-space-pen-views'
    at Module._resolveFilename (module.js:328:15)
    at Function.Module._resolveFilename (C:\Users\Morteza\AppData\Local\atom\app-1.0.11\resources\app.asar\src\module-cache.js:383:52)
    at Function.Module._load (module.js:270:25)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)
    at Object.<anonymous> (C:\Users\Morteza\.atom\packages\CodeMySky-java-importer-1b09709\lib\java-importer-view.coffee:1:20)
    at Object.<anonymous> (C:\Users\Morteza\.atom\packages\CodeMySky-java-importer-1b09709\lib\java-importer-view.coffee:1:1)
    at Module._compile (module.js:452:26)
    at Object.defineProperty.value [as .coffee] (C:\Users\Morteza\AppData\Local\atom\app-1.0.11\resources\app.asar\src\compile-cache.js:169:21)
    at Module.load (module.js:347:32)

Commands

Config

{}

Installed Packages

# User
atom-space-pen-views, v2.1.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'getLastSelection' of undefined

Atom: 1.16.0 x64
Electron: 1.3.13
OS: Microsoft Windows 7 Ultimate
Thrown From: java-importer package 1.4.1

Stack Trace

Uncaught TypeError: Cannot read property 'getLastSelection' of undefined

At C:\Users\Dan\.atom\packages\java-importer\lib\java-importer-view.coffee:43

TypeError: Cannot read property 'getLastSelection' of undefined
    at JavaImporterView.module.exports.JavaImporterView.getSelection (/packages/java-importer/lib/java-importer-view.coffee:43:23)
    at Object.import (/packages/java-importer/lib/java-importer.coffee:62:28)
    at /packages/java-importer/lib/java-importer.coffee:18:68)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:259:29)
    at /app.asar/src/command-registry.js:3:59
    at Object.didConfirmSelection (/app.asar/node_modules/command-palette/lib/command-palette-view.js:106:29)
    at SelectListView.confirmSelection (/app.asar/node_modules/atom-select-list/src/select-list-view.js:292:20)
    at /app.asar/node_modules/atom-select-list/src/select-list-view.js:64:14)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:259:29)
    at /app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:599:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:390:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/app.asar/src/window-event-handler.js:106:36)
    at /app.asar/src/window-event-handler.js:3:59)

Commands

     -0:32 styleguide:show (atom-pane.pane.active)
     -0:28.9.0 project-find:show (div.styleguide.pane-item.native-key-bindings)
     -0:28.8.0 grammar-selector:show (input.hidden-input)
     -0:28.4.0 application:add-project-folder (input.hidden-input)
     -0:21 command-palette:toggle (atom-pane.pane.active)
     -0:16.8.0 core:confirm (input.hidden-input)
     -0:16.8.0 java-importer:import (atom-pane.pane.active)

Non-Core Packages

autocomplete-java 1.2.5 
eclipse-keybindings 0.9.0 
java-importer 1.4.1 

Java-Importer can not extract right class name

According to #1
Java-Importer seems to have some problem extracting the right class name.
I have already fixed situation like List<ForeignObj>
But there are still some other issue like String[] can not be extracted correctly.

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.