Giter Site home page Giter Site logo

ide-php's Introduction

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

IDE-PHP package

CI

PHP language support for Atom-IDE, powered by FelixFBeckers PHP Language Server.

Requires Atom 1.21 and a PHP 7.0 runtime installed on your system.

Screen shot of IDE-PHP

Early Access

This package is currently an early access release. To expose the functionality within Atom install the abandoned atom-ide-ui package or the actively developed community packages:

Features

  • Auto completion
  • Diagnostics (errors & warnings)
  • Document outline
  • Find references
  • Go to definition
  • Hover
  • Signature help

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-php's People

Contributors

damieng avatar darangi avatar jens1o avatar martinfojtik avatar serafeimgr avatar tamc avatar uzitech avatar vinkla 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  avatar  avatar

ide-php's Issues

Some files access outline view , some can't ! hyperclick purpose

Description

can't access outline view my laravel Illuminate\Foundation\Exceptions\Handler

Actual Behavior

Atom ide can't access but alibaba package can access

Versions

  • Atom:1.22.0 beta 0
  • Client OS: windows 10
  • atom-ide-ui: 0.4.0
  • ide-php: 0.6.9

access by atom ide outline view
ff

Additional Details

but this files can't access by atom-ide outline view .
atom ide

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: Ubuntu 16.04.3
Thrown From: ide-php package 0.6.2

Stack Trace

Uncaught SyntaxError: Unexpected token < in JSON at position 1

At file:///usr/share/atom-beta/resources/app.asar/static/index.html:2

SyntaxError: Unexpected token < in JSON at position 1
    at JSON.parse (<anonymous>)
    at StreamMessageReader.onData (/packages/ide-php/node_modules/vscode-jsonrpc/lib/messageReader.js:210:29)
    at /packages/ide-php/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:49.5.0 core:backspace (input.hidden-input)
  2x -0:49 core:move-right (input.hidden-input)
     -0:48.4.0 core:move-left (input.hidden-input)
     -0:46.3.0 core:backspace (input.hidden-input)
     -0:41.5.0 core:move-left (input.hidden-input)
  5x -0:35.6.0 core:backspace (input.hidden-input)
     -0:33.7.0 autocomplete-plus:confirm (input.hidden-input)
     -0:33.7.0 snippets:expand (atom-text-editor.editor.enable-atom-ide-find-references.is-focused)
  2x -0:27.1.0 core:move-down (input.hidden-input)
     -0:26.6.0 core:move-up (input.hidden-input)
     -0:19.6.0 editor:newline (input.hidden-input)
     -0:19.4.0 core:move-up (input.hidden-input)
     -0:17.4.0 editor:newline (input.hidden-input)
     -0:15.4.0 autocomplete-plus:confirm (input.hidden-input)
     -0:12.5.0 core:move-right (input.hidden-input)
  2x -0:11.8.0 core:move-left (input.hidden-input)

Non-Core Packages

atom-clock 0.1.15 
atom-ide-ui 0.3.1 
autocomplete-modules 1.7.0 
busy-signal 1.4.3 
calc 0.4.0 
color-picker 2.2.5 
editorconfig 2.2.2 
es6-snippets 0.3.0 
git-control 0.9.0 
git-plus 7.9.3 
highlight-line 0.12.0 
highlight-selected 0.13.1 
ide-flowtype 0.17.4 
ide-php 0.6.2 
ide-typescript 0.6.1 
ide-vue 0.1.3 
intentions 1.1.5 
language-babel 2.74.2 
language-javascript-jsx 0.3.7 
linter 2.2.0 
linter-eslint 8.2.1 
linter-php 1.4.0 
linter-stylelint 4.0.2 
linter-ui-default 1.6.8 
minimap 4.29.6 
minimap-highlight-selected 4.6.1 
platformio-ide-terminal 2.6.0 
prettier-atom 0.38.0 
project-manager 3.3.5 
seti-icons 1.5.4 

Package not installing

A few things to know before you create an issue

  • This package requires Atom 1.21 beta
  • We launch a "language server" process on your machine that understands the language you are editing
  • What that server can do - syntax compatibility, whether it supports formatting or outlines etc - is outside of our control
  • You can see what the language server supports by checking out our README and following the link after "powered by"
  • "disconnected", "JSONRPC" or "Content-Header" errors indicate that server process died. We're working on better recovery right now
  1. Installed the latest atom
  2. Installed ide-typescript
  3. Tried installing ide-php (compatibility error)

Incorrect errors being reported.

Given the following code:

<?php

function getEchoFunction()
{
    return function ($message) {
        echo($message);
    };
}

getEchoFunction()('hey');

An error is reported. It looks like it doesn't like calling functions inline like that.

Error: ';' expected. Line 10:18

Changing the code to:

$echo = getEchoFunction();
$echo('hey');

works as expected.

Hyperclick Requests Incorrect URI

A hyperclick from a datatip opens an incorrect URI that is no longer on my system.

I have had multiple Laravel 5.5 projects open in Atom Beta since this package came out, and the URI that hyperclick redirects to no longer exists in my system. I'm assuming this must have been the first project I opened with ide-php. Therefore, it opens an empty file.

The ide-php has been uninstalled and reinstalled using apm-beta command and the issue still persists.

Path of current project
~/Documents/y7-cms/database/seeds/DatabaseSeeder.php

Path of hyperclick incorrect redirection
~/Documents/visualizer/vendor/laravel/framework/src/Illuminate/Database/Seeder.php

Path that hyperclick should return
~/Documents/y7-cms/vendor/laravel/framework/src/Illuminate/Database/Seeder.php

screen shot 2017-09-22 at 10 07 01 am

Thank you!

Feature Requests - General Inquiry

I am noticing that the following functionalities are not working at this time (be it through the language server or this package):

  • namespace auto-complete hints while typing a a use statement are missing [issue #18]
  • classes and methods are not being provided to auto-complete, and only sometimes if they are in the same file. It seems to only auto-complete previously typed items consistently [mentioned in issue #30]
  • use statements are not being added when autocompleting a class (in the rare event that it actually provides a class hint in the auto-complete list) [issue #36]

Are these issues we need to raise with the FelixFBecker language server, or should I create individual issues to track these here? If these are related to ide-php, I would love to dig in and help out with some PRs, I just wanted to see where these should go first.

The main inquiry here is to see if I can help out with this functionality through PRs, or if this is outside of this package's control. And if so, could we switch to a language server that supports these features?

Thanks :)

Autocompletion Popup Delay Too Long

Is there a setting to change the delay for autocompletion? It seems to take about 1 second, and I end up waiting for the autocomplete popup content to change after i type, instead of it changing as I type.

(Was able to get the package to work using the work-around with composer install mentioned in #6. Would love to see performance of autocomplete improved. Any suggestions? Can I force-index, for example? (I'm wondering if its slow because it might be in the middle of indexing my project, but there is no indicator that anything is happening).

Thanks! :)

Add support to multi root project

If I am using the project which has multi root folder, the find reference can't work.
for example:
Now class A is in folder a, class B is in folder b, and when A include B, but the find references can't work.

The default memory limit of php-language-server fails on 32bit PHP on Windows, worth mentioning in the README?

php-language-server sets memory_limit to 4G by default if --memory-limit isn't specified. This becomes 2MB on 32bit PHP, at least on Windows, and throws a Fatal Error when the language server tries to load stubs. However, this fails silently, since ide-php doesn't listen to the language server's stdout. The issue can be fixed by either upgrading to 64bit PHP or specifying a --memory-limit less than 4G when starting the language server.

My suggestions:

  1. Either specify 64bit in the README, or set --memory-limit to e.g. "2G" when running php-language-server
  2. Listen to the language server's output (childProcess.stdout.on('data', ...)) and log it for easier debugging of similar errors in the future

Failed to activate the ide-php package

[Enter steps to reproduce:]

  1. ...
  2. ...

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

Stack Trace

Failed to activate the ide-php 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.21.0-beta0/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.get_Module._resolveFilename (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/module-cache.js:354:58)
    at Module.require (/app.asar/static/index.js:40:43)
    at require (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/native-compile-cache.js:66:33)
    at /packages/ide-php/lib/main.js:6:44)
    at /packages/ide-php/lib/main.js:140:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/native-compile-cache.js:106:36)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.21.0-beta0/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 (/app.asar/static/index.js:47:45)
    at require (internal/module.js:20:19)
    at customRequire (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/static/<embedded>:96:26)
    at Package.module.exports.Package.requireMainModule (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:903:35)
    at Package.module.exports.Package.activateNow (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:242:22)
    at ~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:225:38
    at Package.module.exports.Package.measure (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:99:21)
    at ~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:218:32
    at Package.module.exports.Package.activate (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package.js:215:40)
    at PackageManager.activatePackage (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package-manager.js:690:42)
    at config.transactAsync (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package-manager.js:665:36)
    at Config.module.exports.Config.transactAsync (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/config.js:346:24)
    at PackageManager.activatePackages (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package-manager.js:663:23)
    at PackageManager.activate (~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/package-manager.js:646:50)
    at ~/AppData/Local/atom/app-1.21.0-beta0/resources/app/src/atom-environment.js:854:36

Commands

Non-Core Packages

atom-ide-ui 0.3.1 
ide-php 0.6.1 
simplified-chinese-menu 5.3.4 

Versioning inconsistency causes composer resolution issues.

I noticed that ide-php 0.6.6 was tagged two days ago, while versions 0.6.4 through 0.6.5 were tagged today. Could a 0.6.7 version be released with all the latest to make sure the incorrect version is not pulled (if composer resolves something like ^0.6 or 0.6.*)? Atom is displaying the 0.6.6 as the latest version, which will cause the latest releases to be ignored.

If you're already working on this, please close. Just wanted to make sure it wasn't overlooked. :) Thanks!

Catch multiple exceptions

Testing with:

try {
//...
} catch (FirstException | SecondException $e) {
//...
}

got "Variable name expected" error. Looks like it uses old version of PHP.

Versions

atom-beta --version
Atom    : 1.21.0-beta0
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0
apm --version
apm  1.18.4
npm  3.10.10
node 6.9.5 x64
python 2.7.12
git 2.7.4
cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
php -v
PHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep  2 2017 05:56:43) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.9-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

Detect missing php runtime/start-up errors

If the language server fails to start we should offer a dialog similar to that on ide-java where they can download the php runtime or specify the path to its location.

IDE-PHP could not launch your PHP runtime. No PHP interpreter found at ...

Hi!
I have an issue trying to set the path of my PHP7 installation. I've tryied several times with the PATH, using the PHP_HOME environment variable, and setting the path directly in Atom settings but nothing. ide-php reports all times the error "IDE-PHP could not launch your PHP runtime. No PHP interpreter found at ..."
I have tried with php7.1.20 both 64 and 32 bits versions.
I'm using Atom 1.21.0-beta-2

Unexpected end of file

I'm getting a lot of the following:

Uncaught (in promise) Error: unexpected end of file
    at Zlib._handle.onerror (zlib.js:355:17)

autocomplete not working

PHP autocomplete not working correctly inside php tags it makes no suggestions.
Outside PHP tags working completely fine

My package list:
[36mBuilt-in Atom Packages[39m (92)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
└── [email protected]

[36mCommunity Packages (95)[39m C:\Users\utilizador.atom\packages
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Update: it works fine when I deactivate this package

bracket coloring issue: CSS Specificity error / Class Ordering Issue

I noticed that inside of a class there is errors with the coloring of brackets. It appears to be an issue with CSS class ordering. The bracket is getting the its color style from .syntax--meta.syntax--class which is overriding the correct color from atom-text-editor

Removing the class .syntax--class or placing at the beginning of the class list resolves the issue.
I am not sure if this will cause other issues, but appears to restore expected behavior.

This is not present in my stable Atom with the traditional linter package, only atom beta + ide-php
I have attached 2 images showing the issue.

Issue Only:
screen shot 2017-09-14 at 11 19 18 am

Issue With Inspector Showing Applicable Details:
screen shot 2017-09-14 at 11 24 30 am

Image with .syntax--class moved to beginning of class list, which resolves CSS selector issue
screen shot 2017-09-14 at 11 35 28 am

How to add additional linters?

I was wondering if there was a process to add additional linters? Specifically I use the following linters in addition to the PHP linter that is included in ide-php:

  • phpmd (PHP Mess Detector)
  • phpcs (PHP CodeSniffer)

I also like to include the following in my Atom setup:

  • html linter
  • json linter
  • js linter
  • markdown linter

So far these have been available through the "linter" package by steelbrain, and I have been able to install it, but it seems to duplicate the linter indicators in the status bar.

What are your thoughts on integrating the ide-php linter with the linter package by steelbrain and including that as a dependency? Or do new packages need to be developed to integrate into ide-php linter?

Language server not stopped on disabling package

The language server process is not being stopped on disabling the package. This leads to issues such as being unable to update the package if the language server initialized since it is still running from that directory:

image

Updating to “[email protected]” failed.
EBUSY: resource busy or locked, rmdir 'C:\Users\Landon Abney\.atom\packages\ide-php\vendor'

image

Atom version: 1.21.0-beta0
atom-ide-ui version: v0.3.3
ide-php version: v0.6.2, updating to v0.6.6.
OS: Windows 10 x64

Ide-php does not work

I install Atom-ide and ide-php on Atom v1.21.0 but ide-php seems not working.

When i open the outline window show nothing, when i CTRL+ Click nothing

I'm on linux ubuntu 16.04
my php :

PHP 7.1.10-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 29 2017 17:04:25) ( NTS )
In dev mode after enable this :

atom.config.set('core.debugLSP', true)

I got this error :

PHP (FelixFBecker) stderr Error: Call to undefined function AdvancedJsonRpc\json_decode() in /home/user/atom/.atom/packages/ide-php/vendor/felixfbecker/advanced-json-rpc/lib/Message.php:26 Stack trace: #0 /home/user/atom/.atom/packages/ide-php/vendor/felixfbecker/language-server/src/ProtocolStreamReader.php(55): AdvancedJsonRpc\Message::parse('{"jsonrpc":"2.0...') #1 /home/user/atom/.atom/packages/ide-php/vendor/sabre/event/lib/Loop/Loop.php(311): LanguageServer\ProtocolStreamReader->LanguageServer\{closure}() #2 /home/user/atom/.atom/packages/ide-php/vendor/sabre/event/lib/Loop/Loop.php(233): Sabre\Event\Loop\Loop->runStreams(NULL) #3 /home/user/atom/.atom/packages/ide-php/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true) #4 /home/user/atom/.atom/packages/ide-php/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run() #5 /home/user/atom/.atom/packages/ide-php/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run() #6 {main}

Php is well find :

HP (FelixFBecker) found PHP version 7.1.10-1+ubuntu16.04.1+deb.sury.org+1 using "php" logger.js:33 PHP (FelixFBecker) starting "php felixfbecker/language-server/bin/php-language-server.php --memory-limit=2G" logger.js:33 PHP (FelixFBecker) rpc.sendRequest initialize sending

I try ide-typescript and it works well

Did i miss something ?

Provider the actual language server (vendor folder)

We need to either bundle or otherwise download the vendor folder for the user on package start-up much like the ide-java package does.

apm by default does not package git-ignored files and we don't want to check the vendor folder into git. Downloading a zip or tar.gz would be most useful.

Should solve atom/ide-java#1 before adopting the download code.

Installation fails

unbenannt
Installation allways fails, even after deleting all installed packages insite the .atom/packages folder and admin rights. Used latest version 1.21.0-beta0 on win 10 x64 admin user. Composer is installed on this machine if this is important...

No features working (with Laravel)

Hey there,

I've installed Atom 1.21 Beta and atom-ide-ui and ide-php. (atom-ide-ui: 0.3.3 and ide-php: 0.6.2)

Installed PHP Version:

screenshot_2017-09-15 19_55_07

(I'm using XAMPP as it is kinda convenient requiring minimal setup, php.exe is in the PATH as you can see)

When I create a new Laravel project, the features of Atom IDE are not working unfortunately.

For example, the not working Hyperclick feature:

screenshot_2017-09-15 19_48_15

Opening the autocomplete does nothing. (CTRL + Space)

screenshot_2017-09-15 19_52_56

Also obvious syntax errors are not highlighted or anything like that.

screenshot_2017-09-15 19_51_26

The output of the console window doesn't show any error:

screenshot_2017-09-15 19_54_04

Does anyone know what I could have done wrong?

Best Regards,
Stefan

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: Deepin 15.4
Thrown From: ide-php package 0.6.1

Stack Trace

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

At /home/coolnet/.atom/packages/ide-php/node_modules/vscode-jsonrpc/lib/messageReader.js:191

Error: Header must provide a Content-Length property.
    at StreamMessageReader.onData (/packages/ide-php/node_modules/vscode-jsonrpc/lib/messageReader.js:191:27)
    at /packages/ide-php/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

     -1:22.9.0 core:backspace (input.hidden-input)
     -1:22.4.0 intentions:highlight (input.hidden-input)
     -1:22.2.0 core:save (input.hidden-input)
  2x -1:18.6.0 core:move-up (input.hidden-input)
     -1:11.1.0 intentions:highlight (input.hidden-input)
     -1:11 core:save (input.hidden-input)
     -0:57.7.0 core:move-down (input.hidden-input)
 35x -0:57.5.0 core:move-right (input.hidden-input)
     -0:54.3.0 core:backspace (input.hidden-input)
 13x -0:53.2.0 core:move-right (input.hidden-input)
     -0:52 core:backspace (input.hidden-input)
  2x -0:50.8.0 core:move-down (input.hidden-input)
     -0:49.4.0 core:move-left (input.hidden-input)
     -0:48.1.0 intentions:highlight (input.hidden-input)
     -0:47.9.0 core:save (input.hidden-input)
 31x -0:35.5.0 core:move-left (input.hidden-input)

Non-Core Packages

atom-autocomplete-php 0.25.6 
atom-beautify 0.30.4 
atom-ide-ui 0.3.1 
autocomplete-python 1.10.2 
busy-signal 1.4.3 
goto-definition 1.3.4 
hyperclick 0.0.0 
ide-go 0.2.0 
ide-java 0.6.0 
ide-php 0.6.1 
ide-python 0.1.0 
intentions 1.1.5 
javascript-snippets 1.2.1 
language-vue 0.23.1 
linter 2.2.0 
linter-php 1.3.2 
linter-ui-default 1.2.4 
php-cs-fixer 4.1.0 
php-integrator-navigation 1.2.1 
vue2-autocomplete 0.1.0-alpha.4 

Is atom/language-php required for this package?

Thanks for making atom better and integrating IDE features! I searched through the issue queue and readme and couldn't find a reference to if the language-php package is compatible/required with this package?

I don't see it listed as a dependency but I am also not seeing formatting of my php code without it.

Add a changelog file?

I would like to suggest the addition of a CHANGELOG.md file to the repo (it will show up in the package settings page in Atom as well) to let us follow along and see what changes are being implemented with which release. What do you think?

Remove status bar element

The status bar element seems to provide no useful information and takes up real estate that could be used by other useful information.

Could we remove the status bar element or at least add a class so we could set display: none in our style sheet if we don't want it.

PhP download

Could someone link me to the correct php download.

I have tried the normal version and the windows version. Both dont work.

Language server failed if there are files open

After install ide-php, everything works fine, the outline view show functions without any problems.

But, after restart ATOM, the spinning wheel keeps spinning inside outline view. After several minuts, it showed "Not available outline".

I have to close all files and restart the ATOM again, then open the same file, then I can show outline again.

It seems language server does not start correctly/successfully when there are files open on ATOM startup stage.

I use ATOM 1.21.0-beta0 under macOS 10.12.6 with ide-php 0.6.2.

Uncaught Error: Connection is closed.

[Enter steps to reproduce:]

  1. Search for text in folder
  2. Click one of results to open php file

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Ubuntu 16.04.3
Thrown From: ide-php package 0.6.1

Stack Trace

Uncaught Error: Connection is closed.

At /home/umpirsky/.atom/packages/ide-php/node_modules/vscode-jsonrpc/lib/main.js:604

Error: Connection is closed.
    at /packages/ide-php/node_modules/vscode-jsonrpc/lib/main.js:129:28)
    at throwIfClosedOrDisposed (/packages/ide-php/node_modules/vscode-jsonrpc/lib/main.js:604:19)
    at Object.sendNotification (/packages/ide-php/node_modules/vscode-jsonrpc/lib/main.js:658:13)
    at LanguageClientConnection._sendNotification (/packages/ide-php/node_modules/atom-languageclient/build/lib/languageclient.js:231:15)
    at LanguageClientConnection.didChangeTextDocument (/packages/ide-php/node_modules/atom-languageclient/build/lib/languageclient.js:124:10)
    at TextEditorSyncAdapter.sendFullChanges (/packages/ide-php/node_modules/atom-languageclient/build/lib/adapters/document-sync-adapter.js:183:22)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at /usr/share/atom-beta/resources/app/src/text-editor.js:626:38
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at DisplayLayer.emitDidChangeSyncEvent (/usr/share/atom-beta/resources/app/node_modules/text-buffer/lib/display-layer.js:823:24)
    at decorationLayerDisposable.textDecorationLayer.onDidInvalidateRange (/usr/share/atom-beta/resources/app/node_modules/text-buffer/lib/display-layer.js:161:20)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom-beta/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at TokenizedBuffer.module.exports.TokenizedBuffer.tokenizeNextChunk (/usr/share/atom-beta/resources/app/src/tokenized-buffer.js:241:28)
    at /usr/share/atom-beta/resources/app/src/tokenized-buffer.js:206:32
    at /usr/share/atom-beta/resources/app/node_modules/underscore/underscore.js:666:53

Commands

     -0:32 core:paste (input.hidden-input)
     -0:28 project-find:show (input.hidden-input)
     -0:27.7.0 core:paste (input.hidden-input)
  3x -0:26.6.0 core:confirm (input.hidden-input)
     -0:21.9.0 editor:consolidate-selections (input.hidden-input)
     -0:21.9.0 core:cancel (input.hidden-input)
     -0:17.3.0 intentions:highlight (input.hidden-input)
     -0:17.1.0 find-and-replace:show (input.hidden-input)
     -0:15.5.0 project-find:show (input.hidden-input)
     -0:15 core:confirm (input.hidden-input)
  2x -0:11.4.0 core:move-down (div.results-view.focusable-panel)
     -0:08.5.0 core:confirm (div.results-view.focusable-panel)
     -0:07.5.0 core:cancel (div.results-view.focusable-panel)
     -0:06.7.0 core:move-down (div.results-view.focusable-panel)
     -0:06.3.0 core:move-up (div.results-view.focusable-panel)
     -0:06.0 core:confirm (div.results-view.focusable-panel)

Non-Core Packages

atom-beautify 0.30.5 
atom-ide-ui 0.3.1 
busy-signal 1.4.3 
change-case 0.6.5 
docblockr 0.11.0 
firacode 0.3.0 
hyperclick 0.0.0 
ide-php 0.6.1 
intentions 1.1.5 
last-cursor-position 0.9.2 
linter 2.2.0 
linter-jshint 3.1.5 
linter-php 1.4.0 
linter-ui-default 1.6.8 
php-integrator-autocomplete-plus 1.6.0 
php-integrator-base 3.0.1 
php-integrator-navigation 1.2.1 
php-twig 4.0.0 
project-manager 3.3.5 

Documentation improvement for installation and usage

Hi,

I was trying the package.

Cloned the package to /home/user/.atom/packages folder.

Installed the composer dependencies and also ran apm i .

Package is installed. Have set the /usr/bin/php path. php version is PHP 7.1.8-2 .

Is there anything else to do for this to work as expected ( clicking class names or methods opening the file etx ) ? Or is still in development ?

I have tried to debug a bit using console.log , but it looks the startServerProcess () is not called.

getGrammarScopes () is called when I put console.log("Hello World") .

Outline View not Displaying when using Ide-PHP

I just installed the atom v1.21.0 Beta2 x64 and installed the PHP IDE language support. It's diagnostics and autocomplete are working (although they're really slow), but for some reason, I can't find the outline view panel on my program. I've gone through the package's settings and ensured the outline feature panel checkbox is checked, but I still don't see it on my software. Is it something I did wrong? Or is it disabled for PHP and allowed for other language supports?

EDIT
I installed IDE-Typescript, and it still doesn't show the outline panel, but the diagnostics is working. This problem obviously isn't peculiar to IDE-PHP. Does anyone have a solution?

Incorrect Brace Highlighting / Incorrect PHP Parsing

It appears that the PHP parse might not be working correctly. The following screenshots show incorrect syntax highlighting on braces, as well as incorrect PHP validation:

screen shot 2017-09-13 at 9 53 33 am

screen shot 2017-09-13 at 9 53 47 am

(Posting this two things together, as they might be related?)

atom startup reports "IDE-PHP requires PHP 7 or later but found"

Not really a complete sentence.

ide-php v 0.6.8
atom v 1.21.0beta2

my local apache2 is set up to use php 5.6.30-0+deb8u1, reported by standard phpinfo. which may have some bearing on this issue. That would be interesting since I didn't think that atom used local stack setup to run.

2 buttons are presented. - "Set PHP Path" does nothing.
As this console log snip shows, php 7 or later is indeed installed:

[07:08] ~$-->  which php
/usr/bin/php
[07:45] ~$-->  php --version
PHP 7.1.9-1+0~20170902060604.8+jessie~1.gbpebe5d6 (cli) (built: Sep  2 2017 06:21:43) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.9-1+0~20170902060604.8+jessie~1.gbpebe5d6, Copyright (c) 1999-2017, by Zend Technologies
[07:45] ~$-->  

In fact, the settings shows this to be the executable already set:

untitled

PHP language server stopping unexpectedly

I've recently installed the new version of atom (1.21) where I've been installing the atom-ide-ui and ide-php packages (and some others too).
I don't know why, when I develop on JS, the diagnostic and outline view are working properly, but as soon as I open a php file, I have an error popup showing telling me that "PHP language server stopped unexpectedly." (as on the screenshot).

php_server_error

This error happen anytime I open a php file for the first time after launching Atom (whether or not a php page is already opened when i launch atom).

Thanks,

Robin

Outline view and diagnostics stopped working after Atom beta 2 update

Hi all,

As the title explains, the Outline view and diagnostics functionalities stopped working after Atom updated to the beta 2 pre release. Is it an issue with my system or should I just wait until development of the php-ide catches up? Should I consider downgrading?

Thank you

Installation complete but not working

Version: 1.21.0-beta0
OS: Windows 10
PHP: PHP 7.1.9 (cli) (x86)

Plugin installation run without errors. It says "PHP Felix Becker started" in the status bar, but if I open a PHP file the busy signal is shown in outline view and nothing happens. Diagnostics also do not show any errors.

I set the php path to "C:\xampp\php" in the settings section.

In the developer tools this is the last log. After that nothing happens.

PHP (FelixFBecker) rpc.sendRequest initialize sending Object {processId: 1992, capabilities: Object, rootPath: "D:\projekte\__mtw module\eloquent\ImmoScout Cronjob Standalone\cronjobs\Immoscout\"}

PHP language server stopped unexpectedly.

I know there are a few other issues discussing language server problems, but I thought it might be beneficial to open a new issue dedicated to the new error reporting in 0.6.6. I just received this error:

screen shot 2017-09-18 at 9 32 47 am

PHP Fatal error: Allowed memory size of 8589934592 bytes exhausted (tried to allocate 262144 bytes) in /Users/mike/.atom/packages/ide-php/vendor/felixfbecker/language-server/src/FqnUtilities.php on line 25

My ide-php settings look like this:
screen shot 2017-09-18 at 9 34 03 am

(Nevermind the php path, it is actually php 7.1.)

Versions

Atom

1.21.0-beta0

macOS

10.13.0 (build 17A362a)

php

PHP 7.1.9 (cli) (built: Sep 7 2017 21:03:02) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.9, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.5.3, Copyright (c) 2002-2017, by Derick Rethans

Installed Packages

Built-in Atom Packages (92)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Community Packages (18) /Users/mike/.atom/packages
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

After this error occured, I reset the ide-php settings to connection type auto and memory allocation -1, then quit and restarted Atom.

Uncaught Error: spawn ENOTDIR

  1. Set socket connection type
  2. Restart atom

Atom: 1.21.0-beta0 x64
Electron: 1.6.9
OS: Ubuntu 16.04.3
Thrown From: ide-php package 0.6.6

Stack Trace

Uncaught Error: spawn ENOTDIR

At internal/child_process.js:313

Error: spawn ENOTDIR
    at exports._errnoException (util.js:1022:11)
    at ChildProcess.spawn (internal/child_process.js:313:11)
    at Object.exports.spawn (child_process.js:399:9)
    at PHPLanguageClient.spawnServer (/packages/ide-php/lib/main.js:75:29)
    at Server.server.listen (/packages/ide-php/lib/main.js:57:29)
    at Object.onceWrapper (events.js:290:19)
    at emitNone (events.js:86:13)
    at Server.emit (events.js:185:7)
    at emitListeningNT (net.js:1288:10)
    at _combinedTickCallback (internal/process/next_tick.js:71:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Commands

Non-Core Packages

atom-ide-ui 0.3.3 
ide-php 0.6.6 

How to use ide-php

Hi,

I am new to atom.
I want to use atom as php ide.
I've cloned this in ~/atom folder.
Then I ran following commands inside ~/atom folder

  1. apm i
  2. composer install

I have php7.1 on my mac.
And atom v1.19.5 x64

Is there any document that can help me to use ide-php?
I have no clue on how to use it

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.