microsoft / microsoft/TypeScript
Autocomplete Filepath Strings.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
Search Terms
Autocomplete, fs, require, strings.
Suggestion
I would like to be able to mark a string as a relative path, and get autocomplete for it if it's initialised with a constant.
Examples
var path: tsRelativePath;
path = "./fi
//pressing ctrl-space should autocomplete to ./file or ./file.txt.
fs.readFile("./fi
//pressing ctrl-space should autocomplete to ./file or ./file.txt.
Obviously some name for the type that doesn't conflict with common type names will have to be chosen.
Use Cases
It would be nice to have autocomplete for fs.read etc.
I'm making a modified require.js library which allows me to use a custom import function on the client to load resources (html templates, css, 3D models, animations, shaders, etc.) relative to the current script file. I'd like to be able to get auto-complete on the paths and compiler errors if the resource doesn't exist (e.g. i forgot to build my scss files).
I would also like these paths to update when you move or rename a resource the same way paths update when you move or rename a script file.
I'm aware this functionality can be enabled in VSCode with plugins but I'm stuck using Visual Studio and would like it to be supported natively.
Checklist
My suggestion meets these guidelines:
- [ y] This wouldn't be a breaking change in existing TypeScript/JavaScript code (as long as the type name is chosen well)
- [ y] This wouldn't change the runtime behavior of existing JavaScript code
- [ y] This could be implemented without emitting different JS based on the types of the expressions
- [ y] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
- [ y] This feature would agree with the rest of TypeScript's Design Goals.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files or tests are named. Start by locating the language-service autocomplete path for string literals and reviewing how the fs.readFile and require examples are represented. Done would require an agreed design for path typing, completion, resource validation, and rename updates, plus tests for the proposed behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100