<p dir="auto">I like the scrollBeyondLastLine feature but it scrolls too much to my state and i often find myself beeing scared to have cleared my file :s</p>
<p dir="auto">That would be great if <code class="notranslate">editor.scrollBeyondLastLine</code> could be a boolean or an integer that would represent the maximium of lines it would overscroll.</p>
<p dir="auto">Thanks</p>
<p dir="auto">We want to adopt tslint for checking our typescript code.</p>
<p dir="auto">Most of our <a href="https://github.com/Microsoft/vscode/wiki/Coding-Guidelines">style guide</a> should be checked by tslint.</p>
<h2 dir="auto">General</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Add initial tslint.json</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Add tslint to our gulp script</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Add a Code task with a problem matcher for tslint</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Document its use in the <a href="https://github.com/Microsoft/vscode/wiki/How-to-Contribute">Contribution Guidelines</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Implement non externalised strings rule</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Add tslint to the pre-commit hygene  (wait until we are down to 0 with the warnigs)</li>
</ul>
<h2 dir="auto">Projects</h2>
<p dir="auto">Add tslint checking to other vscode projects</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> vscode-omnisharp</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> vscode-node-debugger-adapter</li>
</ul>
<p dir="auto">Others non-core projects</p>
<ul dir="auto">
<li>vsce</li>
<li>vscode-vscode</li>
</ul>
<p dir="auto">Extensions</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> vscode-tslint</li>
<li>vscode-eslint</li>
<li>vscode-jslint</li>
<li>vscode-editorConfig</li>
</ul>
<h2 dir="auto">Rules</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-unused-expression</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-unreachable</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-duplicate-variable</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-unexternalized-strings</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-duplicate-key (in object literals)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-unused-variable (includes imports) - 500 instances</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> curly (braces for if/do/while, <strong>in style guide</strong>) - 70 instances</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> class-name (PacalCased class and interface names), <strong>in style guide</strong>) - 3</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> semicolon (semicolon at end of statements) - 220 instances</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-unnecessary-semicolons - 60 instances</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> no-duplicate-case - 3 instances</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> tripple-equals - 10 instances</li>
</ul>
<p dir="auto">Candidates</p>
<ul dir="auto">
<li>promise-must-complete - 10 instances (false positives?)</li>
<li>no-switch-case-fall-through - 25</li>
<li>forin (for ... statement must be filtered with an if) - 80 instances</li>
<li>prefer-const (rule is in the TS repository) - ???</li>
</ul>
<p dir="auto">Future</p>
<ul dir="auto">
<li>no-var-keyword - 5800</li>
<li>indent tabs (covered by hygene tasks, <em>in style guide</em>)</li>
<li>jsdoc-format - 200</li>
<li>no-trailing-whitespace</li>
<li>whitespace ...</li>
</ul>
<p dir="auto">Rejected</p>
<ul dir="auto">
<li>no-shadowed-variable - 300 instances</li>
<li>no-string-literal (disallow object access via string literals) - 16</li>
<li>no-unused-imports (subset of no-unused-variables) - 170 instances</li>
<li>no-function-expression (use arrow functions, <strong>in style guide</strong>) - 190 instances</li>
<li>missing-optional-annotation - 10 instances</li>
<li>no-use-before-declare</li>
<li>no-empty-interfaces (we them in our service injection patterns)</li>
<li>no-multiple-var-decl</li>
<li>no-missing-visibility-modifiers</li>
</ul>