mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-07 20:39:04 +03:00
c1fd648390
This isn't ready to go - I'm opening a PR to ask for some advice. When activating a python virtual environment, the typical command used is `source path_to_venv/bin/activate`. The problem is, the activatate script isn't portable to all shells, so some additional scripts are bundled in the env, for example, `activate.fish`. We don't have a good way of knowing what shell we are in, in order to know what script to run. Julia gave the alternative of simply activating the virtual environment while in the zsh context, before the user's custom shell is launched, which I think does work, but because we activate the virtual environment before we launch the custom shell, the shell isn't really aware that we are in the virtual environment and it fails to display the information in the prompt that is typically shown after activating. Is there a clean way for us to know for a fact what shell is being ran, so we know what script to run? Check out the code comments below for more context. --- https://github.com/zed-industries/zed/assets/19867440/ddb76aaa-152b-4c93-a513-3cd580b7c40f I've used Zed to write Python scripts, but working on an actual project has really magnified where Python dev is falling short. A huge quality-of-life thing we can do is provide a setting to automaticaly search for and activate virtual environments when found, when terminals are created. Manually starting these up in every terminal instance is such a drag. A few quirks: - We don't have a way of knowing if the prompt is ready before we try run the command, which means we see the text inserted at the top of the terminal and on the prompt - I dont think this should be a blocker though. - If a user has multiple python projects with mutliple virtual environments, we only detect and activate the first one, since can't really make any assumptions about which one to activate. I dont think this should be a blocker either, as I think most users will have a single project open in Zed. Release Notes: - Added a `detect_venv` setting for the terminal. When configured, the Zed terminal will automatically activate Python virtual environments on terminal creation. |
||
---|---|---|
.. | ||
activity_indicator | ||
ai | ||
audio | ||
auto_update | ||
breadcrumbs | ||
call | ||
channel | ||
cli | ||
client | ||
clock | ||
collab | ||
collab_ui | ||
collections | ||
command_palette | ||
component_test | ||
context_menu | ||
copilot | ||
copilot_button | ||
db | ||
diagnostics | ||
drag_and_drop | ||
editor | ||
feedback | ||
file_finder | ||
fs | ||
fsevent | ||
fuzzy | ||
git | ||
go_to_line | ||
gpui | ||
gpui_macros | ||
install_cli | ||
journal | ||
language | ||
language_selector | ||
language_tools | ||
live_kit_client | ||
live_kit_server | ||
lsp | ||
media | ||
menu | ||
node_runtime | ||
outline | ||
picker | ||
plugin | ||
plugin_macros | ||
plugin_runtime | ||
project | ||
project_panel | ||
project_symbols | ||
quick_action_bar | ||
recent_projects | ||
refineable | ||
rope | ||
rpc | ||
search | ||
semantic_index | ||
settings | ||
snippet | ||
sqlez | ||
sqlez_macros | ||
staff_mode | ||
sum_tree | ||
terminal | ||
terminal_view | ||
text | ||
theme | ||
theme_selector | ||
util | ||
vcs_menu | ||
vim | ||
welcome | ||
workspace | ||
xtask | ||
zed | ||
zed-actions |