www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - code-d - A plugin for Visual Studio Code

reply WebFreak001 <janju007 web.de> writes:
First we worked on atomize-d which was the D plugin for atom but 
now I have created a new backend for our D plugins. Its called 
workspace-d (https://github.com/WebFreak001/workspace-d) which 
basically wraps dcd, dfmt and dscanner and uses some 
build/package system (only dub right now) to get informations 
like source paths.

So for testing I wanted to implement it first in atom but the API 
really sucks there so I went with vscode instead because it has 
much better APIs for everything related to an IDE. I think it 
turned out really nice, however it still has a few random minor 
bugs that always fix by reloading the window.

Plugin link: https://github.com/WebFreak001/code-d

Installation:
Install dcd, dfmt, dscanner, workspace-d

cd ~/.vscode/extensions/
git clone https://github.com/WebFreak001/code-d.git
cd code-d
npm install
node ./node_modules/vscode/bin/compile
Dec 06 2015
next sibling parent ZombineDev <valid_email he.re> writes:
On Sunday, 6 December 2015 at 11:53:11 UTC, WebFreak001 wrote:
 First we worked on atomize-d which was the D plugin for atom 
 but now I have created a new backend for our D plugins. Its 
 called workspace-d (https://github.com/WebFreak001/workspace-d) 
 which basically wraps dcd, dfmt and dscanner and uses some 
 build/package system (only dub right now) to get informations 
 like source paths.

 So for testing I wanted to implement it first in atom but the 
 API really sucks there so I went with vscode instead because it 
 has much better APIs for everything related to an IDE. I think 
 it turned out really nice, however it still has a few random 
 minor bugs that always fix by reloading the window.

 Plugin link: https://github.com/WebFreak001/code-d

 Installation:
 Install dcd, dfmt, dscanner, workspace-d

 cd ~/.vscode/extensions/
 git clone https://github.com/WebFreak001/code-d.git
 cd code-d
 npm install
 node ./node_modules/vscode/bin/compile
Good work! I'll give it a try when I get the chance.
Dec 06 2015
prev sibling next sibling parent reply Gerald <me me.com> writes:
On Sunday, 6 December 2015 at 11:53:11 UTC, WebFreak001 wrote:
 First we worked on atomize-d which was the D plugin for atom 
 but now I have created a new backend for our D plugins. Its 
 called workspace-d (https://github.com/WebFreak001/workspace-d) 
 which basically wraps dcd, dfmt and dscanner and uses some 
 build/package system (only dub right now) to get informations 
 like source paths.

 So for testing I wanted to implement it first in atom but the 
 API really sucks there so I went with vscode instead because it 
 has much better APIs for everything related to an IDE. I think 
 it turned out really nice, however it still has a few random 
 minor bugs that always fix by reloading the window.

 Plugin link: https://github.com/WebFreak001/code-d

 Installation:
 Install dcd, dfmt, dscanner, workspace-d

 cd ~/.vscode/extensions/
 git clone https://github.com/WebFreak001/code-d.git
 cd code-d
 npm install
 node ./node_modules/vscode/bin/compile
I tried this out and it seems to work quite well with the exception of not picking up my DUB GtkD dependency for some reason, this was easy to work around for now by adding the GtkD source paths directly to dcd.conf. Good work by the OP, hope development on this continues as I'm finding it a pleasure to use. Also, for the OP if interested, I created some build and test tasks with the appropriate problem matching so that VS Code picks up the errors correctly, hopefully this is useful to anyone else looking for the same thing. { "version": "0.1.0", // Run the dub command to do a build or test "command": "dub", // The command is a shell script "isShellCommand": true, // Show the output window only if unrecognized errors occur. "showOutput": "always", "tasks" : [ { "taskName": "build", "isBuildCommand": true, "isTestCommand": false, "args": [], //Pattern match DMD error messages "problemMatcher": { "owner": "d", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*)\\((\\d+),(\\d+)\\):\\s+(Warning|Error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }, { "taskName": "test", "isBuildCommand": false, "isTestCommand": true, "args": [], //Pattern match DMD error messages "problemMatcher": { "owner": "d", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*)\\((\\d+),(\\d+)\\):\\s+(Warning|Error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] }
Dec 10 2015
parent WebFreak001 <janju007 web.de> writes:
On Friday, 11 December 2015 at 03:03:36 UTC, Gerald wrote:
 On Sunday, 6 December 2015 at 11:53:11 UTC, WebFreak001 wrote:
 [...]
I tried this out and it seems to work quite well with the exception of not picking up my DUB GtkD dependency for some reason, this was easy to work around for now by adding the GtkD source paths directly to dcd.conf. Good work by the OP, hope development on this continues as I'm finding it a pleasure to use. [...]
Fixed GtkD and other big projects now. It actually broke because you tried to auto complete before it initialized. So now instead of rejecting auto complete it will resolve with an empty array. This prevents it from crashing which fixes GtkD
Dec 11 2015
prev sibling parent reply WebFreak001 <janju007 web.de> writes:
UPDATE: Just released the first version on the vscode market 
store. You can now install it via "ext install code-d"

https://marketplace.visualstudio.com/items/webfreak.code-d
Dec 17 2015
parent Charles <csmith.ku2013 gmail.com> writes:
On Thursday, 17 December 2015 at 14:08:36 UTC, WebFreak001 wrote:
 UPDATE: Just released the first version on the vscode market 
 store. You can now install it via "ext install code-d"

 https://marketplace.visualstudio.com/items/webfreak.code-d
I tried this. It didn't install workplace. Are the external dependencies still necessary?
Dec 24 2015